<!--
{
  "availability" : [
    "macOS: 15.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "Hypervisor",
  "identifier" : "/documentation/Hypervisor/hv_gic_set_redistributor_reg(_:_:_:)",
  "metadataVersion" : "0.1.0",
  "role" : "Function",
  "symbol" : {
    "kind" : "Function",
    "modules" : [
      "Hypervisor"
    ],
    "preciseIdentifier" : "c:@F@hv_gic_set_redistributor_reg"
  },
  "title" : "hv_gic_set_redistributor_reg(_:_:_:)"
}
-->

# hv_gic_set_redistributor_reg(_:_:_:)

Writes to a GIC redistributor register.

```
func hv_gic_set_redistributor_reg(_ vcpu: hv_vcpu_t, _ reg: hv_gic_redistributor_reg_t, _ value: UInt64) -> hv_return_t
```

## Parameters

`vcpu`

The redistributor block for the vCPU.

`reg`

The enumeration value that represents the GIC redistributor register.

`value`

The GIC distributor MSI register value that the framework writes.

## Return Value

[`HV_SUCCESS`](/documentation/Hypervisor/HV_SUCCESS) on success; otherwise, an error code.

## Discussion

GIC redistributor register enumeration values are equal to the device register offsets defined in the ARM GIC v3 specification. Alternatively, the client can use the offset while looping through large register arrays.

> Important:
> Call this method on the owning thread.

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)