DRHD not VHRD. My bad. On Friday, December 4, 2015 at 11:43:38 AM UTC-8, [email protected] wrote: > > Please note that currently, the IOMMU is hardcoded currently at a specific > physical address that requires the ACPI stuff to find out dynamically. > > *THIS WILL NOT WORK OUT OF THE BOX FOR A DIFFERENT MACHINE CONFIGURATION > OTHER THAN THE ONES WE BUILT IN MTV* > > If you're looking to try it out on another machine, you'll need to find > out the IOMMU's register bases in the VHRD, and find out which IOMMU maps > to the IOAPIC you want. Then you can change the DMAR_REG_PADDR value in > kern/arch/x86/iommu.h to whatever the VHRD tells you. > > The following changes since commit > 0b10f30b9b9b18f0e45390231dbdaf7b045fbd5b: > > Print ${remote}:${head} in link for code review (2015-12-03 12:38:20 > -0500) > > are available in the git repository at: > > [email protected]:GanShun/akaros.git > > for you to fetch changes up to dbdd541935111c8d418c77f83ddb885528768b89: > > Swapped IPI sending to a full 64-bit write and APIC writes to msr regs. > (2015-12-04 11:18:48 -0800) > > ---------------------------------------------------------------- > GanShun (5): > Switched from APIC to X2APIC mode > Initialized IOMMU and modified IOAPIC to send remappable interrupts. > ExtINT mode for IOMMU is working and remaps IOAPIC IRQ 4 to vector 39 > IOMMU Rerouting of Interrupt 4 is now working. Busybox is receiving > intrs > Swapped IPI sending to a full 64-bit write and APIC writes to msr > regs. > > kern/arch/x86/Kbuild | 1 + > kern/arch/x86/apic.c | 34 ++++++++------- > kern/arch/x86/apic.h | 105 > ++++++++++++++++++++++++----------------------- > kern/arch/x86/apic9.c | 174 > +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------- > kern/arch/x86/ioapic.c | 34 ++++++++++++--- > kern/arch/x86/ioapic.h | 3 +- > kern/arch/x86/iommu.c | 178 > +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > kern/arch/x86/iommu.h | 105 > +++++++++++++++++++++++++++++++++++++++++++++++ > kern/arch/x86/mp.c | 4 +- > kern/arch/x86/pmap64.c | 7 +++- > kern/arch/x86/ros/mmu64.h | 7 ++-- > kern/arch/x86/smp_boot.c | 6 ++- > kern/arch/x86/time.c | 4 +- > kern/arch/x86/trap.c | 30 ++++++++++++++ > kern/arch/x86/trapentry64.S | 3 +- > kern/arch/x86/vmm/intel/vmx.c | 9 +++- > tests/vmm/vmrunkernel.c | 43 ++++++++++++------- > 17 files changed, 611 insertions(+), 136 deletions(-) > create mode 100644 kern/arch/x86/iommu.c > create mode 100644 kern/arch/x86/iommu.h > > > https://github.com/GanShun/akaros/compare/0b10f30b9b9b18f0e45390231dbdaf7b045fbd5b...dbdd541935111c8d418c77f83ddb885528768b89 >
-- You received this message because you are subscribed to the Google Groups "Akaros" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. For more options, visit https://groups.google.com/d/optout.
