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

# hv_gic_get_icc_reg(_:_:_:)

Reads a generic interrupt controller’s ICC CPU system register.

## Declaration

```swift
func hv_gic_get_icc_reg(_ vcpu: hv_vcpu_t, _ reg: hv_gic_icc_reg_t, _ value: UnsafeMutablePointer<UInt64>) -> hv_return_t
```

## Parameters

- `vcpu`: The handle for the vCPU.
- `reg`: The value that represents the GIC ICC system register.
- `value`: A pointer to ICC register value that the framework writes to upon success.

## Return Value

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

## 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_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)
- [hv_gic_set_redistributor_reg(_:_:_:)](hypervisor/hv_gic_set_redistributor_reg(_:_:_:).md)
