Skip to content

feat(irq): add GIC Hypervisor Interface support#35

Closed
luodeb wants to merge 6 commits intovmmfrom
debin/gic_interface
Closed

feat(irq): add GIC Hypervisor Interface support#35
luodeb wants to merge 6 commits intovmmfrom
debin/gic_interface

Conversation

@luodeb
Copy link

@luodeb luodeb commented Dec 13, 2024

  • Add GicHypervisorInterface to interact with GIC Hypervisor
  • Implement GicInterface for setting List Register values
  • Update IRQ module to include new GIC-related functionalities

Related PRs:

hky1999 and others added 6 commits October 20, 2024 15:41
* update aarch64 hv part in arceos (#15)

* Modify platform configuration of aarch64-qemu-virt-hv for GICv2 with virtualization (#20)

* refactor: totally remove hv related trap handlers from axhal/arch/aarch64 (#22)

* Add gic trait impl (#26)

* [refactor] remove hv related scripts and configs from arceos
- Add GicHypervisorInterface to interact with GIC Hypervisor
- Implement GicInterface for setting List Register values
- Update IRQ module to include new GIC-related functionalities
- Remove unused import of GicInterface for non-AArch64 targets
- Add import of GicInterface and fetch_irq for AArch64
- Clean up unnecessary imports to improve code readability
Copy link

@hky1999 hky1999 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please list all PRs related with vgic, and we can review&merge them together.


#[cfg(target_arch = "aarch64")]
pub use crate::platform::irq::fetch_irq;
pub use crate::platform::irq::{fetch_irq, GicInterface};
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it a good way to expose this instance directly?

static GICD: SpinNoIrq<GicDistributor> =
SpinNoIrq::new(GicDistributor::new(phys_to_virt(GICD_BASE).as_mut_ptr()));

static GICH: SpinNoIrq<GicHypervisorInterface> = SpinNoIrq::new(GicHypervisorInterface::new(
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

decorate it with #[cfg(feature = "hv")]

@luodeb luodeb closed this Apr 1, 2025
@luodeb luodeb deleted the debin/gic_interface branch April 1, 2025 01:38
@luodeb luodeb restored the debin/gic_interface branch April 1, 2025 01:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants