File tree Expand file tree Collapse file tree 1 file changed +25
-1
lines changed
openhcl/virt_mshv_vtl/src/processor/snp Expand file tree Collapse file tree 1 file changed +25
-1
lines changed Original file line number Diff line number Diff line change @@ -579,7 +579,31 @@ impl BackingPrivate for SnpBacked {
579
579
// Clear any pending interrupt.
580
580
this. runner . vmsa_mut ( vtl) . v_intr_cntrl_mut ( ) . set_irq ( false ) ;
581
581
582
- hardware_cvm:: apic:: poll_apic_core ( this, vtl, scan_irr)
582
+ hardware_cvm:: apic:: poll_apic_core ( this, vtl, scan_irr) ?;
583
+
584
+ // TODO: a very basic thing that gets us to the UEFI front page.
585
+ if this. backing . cvm . lapics [ vtl] . lapic . is_offloaded ( ) {
586
+ match this. backing . cvm . lapics [ vtl]
587
+ . lapic
588
+ . push_to_offload ( |irr, isr, tmr| {
589
+ let apic_page = this. runner . secure_avic_page_mut ( vtl) ;
590
+
591
+ for ( ( ( irr, page_irr) , isr) , page_isr) in irr
592
+ . iter ( )
593
+ . zip ( & mut apic_page. irr )
594
+ . zip ( isr)
595
+ . zip ( & mut apic_page. isr )
596
+ {
597
+ page_irr. value |= * irr;
598
+ page_isr. value |= * isr;
599
+ }
600
+ } ) {
601
+ Ok ( _) => { }
602
+ Err ( _) => todo ! ( ) ,
603
+ }
604
+ }
605
+
606
+ Ok ( ( ) )
583
607
}
584
608
585
609
fn request_extint_readiness ( _this : & mut UhProcessor < ' _ , Self > ) {
You can’t perform that action at this time.
0 commit comments