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

# hv_gic_get_redistributor_reg(_:_:_:)

Read a generic interrupt controller (GIC) redistributor register.

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

## Parameters

`vcpu`

The redistributor block for the vCPU.

`reg`

The enumeration value that represents the redistributor register.

`value`

A pointer to redistributor register value that the framework writes to upon success.

## Return Value

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

## Discussion

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

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

---

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)