---
title: "hv_gic_get_redistributor_reg(_:_:_:)"
framework: Hypervisor
role: symbol
role_heading: Function
platforms: [macOS 15.0+]
path: "hypervisor/hv_gic_get_redistributor_reg(_:_:_:)"
---

# hv_gic_get_redistributor_reg(_:_:_:)

Read a generic interrupt controller (GIC) redistributor register.

## Declaration

```swift
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

Return Value HV_SUCCESS on success; otherwise, an error code.

## Discussion

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.

## See Also

### Getting and setting registers

- [hv_gic_get_distributor_reg(_:_:)](hypervisor/hv_gic_get_distributor_reg(_:_:).md)
- [hv_gic_get_msi_reg(_:_:)](hypervisor/hv_gic_get_msi_reg(_:_:).md)
- [hv_gic_get_icc_reg(_:_:_:)](hypervisor/hv_gic_get_icc_reg(_:_:_:).md)
- [hv_gic_get_ich_reg(_:_:_:)](hypervisor/hv_gic_get_ich_reg(_:_:_:).md)
- [hv_gic_get_icv_reg(_:_:_:)](hypervisor/hv_gic_get_icv_reg(_:_:_:).md)
- [hv_gic_set_distributor_reg(_:_:)](hypervisor/hv_gic_set_distributor_reg(_:_:).md)
- [hv_gic_set_icc_reg(_:_:_:)](hypervisor/hv_gic_set_icc_reg(_:_:_:).md)
- [hv_gic_set_ich_reg(_:_:_:)](hypervisor/hv_gic_set_ich_reg(_:_:_:).md)
- [hv_gic_set_icv_reg(_:_:_:)](hypervisor/hv_gic_set_icv_reg(_:_:_:).md)
- [hv_gic_set_msi_reg(_:_:)](hypervisor/hv_gic_set_msi_reg(_:_:).md)
- [hv_gic_set_redistributor_reg(_:_:_:)](hypervisor/hv_gic_set_redistributor_reg(_:_:_:).md)
