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

# hv_gic_set_redistributor_reg(_:_:_:)

Writes to a GIC redistributor register.

## Declaration

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

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

## Discussion

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.

## 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_get_redistributor_reg(_:_:_:)](hypervisor/hv_gic_get_redistributor_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)
