Hi, This patch supports BCV for PCI device. If we use this patch in Xen, we would need some more fixes. This patch just support BCV. We could boot a full virtualize guest from a Pass through device with VT-d on Xen. Signed-off-by: Akio Takebe <takebe_akio@jp.fujitsu.com> Signed-off-by: Kouya Shimura <kouya@jp.fujitsu.com> Ref: - XenSummit Asia 2008 http://www.xen.org/files/xensummit_tokyo/24_Hitoshi%20Matsumoto_en.pdf - BIOS Boot Specification http://www.phoenix.com/NR/rdonlyres/56E38DE2-3E6F-4743-835F-B4A53726ABED/0/specsbbs101.pdf Best Regards, Akio Takebe _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Akio Takebe
2008-Dec-11 05:55 UTC
[Xen-devel] Re: [Bochs-developers] [Patch] [BIOS] support BCV for rombios
Hi, Thank you for your comments.>On Thursday 11 December 2008 00:02:40 Sebastian Herbszt wrote: >> > + ;; Point ES:DI at "$PnP", which tells the ROM that we are a PnP BIOS. >> > + mov bx, #0xf000 >> > + mov es, bx >> > + lea di, pnp_string >> >> Should ax, bx and dx get set to some sane value, e.g. 0? Those are only >> needed for PnP ISA devices, but some broken option rom might expect >> something there. >Hmm. I don''t find specification in the BBS spec. But as you said, we may need to add preserving registers. The patch is for PCI devices. For ISA device, we would need to check if it is a PCI or ISA device.>I haven''t checked the spec, but if the parameters are meant to match the >initialisation vector or other similar entry points (e.g. the UNDI loader >entry point for PXE ROMs) then %ax should contain the PCI bus:dev.fn number. > >MichaelThe BBS spec says: "Note that for PCI cards, AX will not contain the PFA. PCI devices that need their PFA during execution of their BCV should store the PFA passed earlier when their option ROM’s initialization vector was called." Best Regards, Akio Takebe _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Akio Takebe
2008-Dec-11 06:14 UTC
[Xen-devel] Re: [Bochs-developers] [Patch] [BIOS] support BCV for rombios
Hi,>> + /* jump to BCV function entry pointer */ >> + mov bp, sp ;; Call ROM BCV routine using seg:off on stack >> + db 0xff ;; call_far ss:[bp+0] >> + db 0x5e >> + db 0 >> + cli ;; In case expansion ROM BIOS turns IF on >> + add sp, #2 ;; Pop offset value >> + pop cx ;; Pop seg value (restore CX) >> + ja no_bev > >ja? not jmp? >Oops. yes jmp.>> + no_bcv: >> mov ax, 0x1a[bx] ;; 0x1A is also the offset into the expansion header >> of... >> cmp ax, #0x0000 ;; the Bootstrap Entry Vector, or zero if there is >> none. >> je no_bev >Best Regards, Akio Takebe _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Akio Takebe
2008-Dec-18 06:17 UTC
[Xen-devel] Re: [Bochs-developers] [Patch] [BIOS] support BCV for rombios
Sebastian Herbszt wrote:> Akio Takebe wrote: >> Hi, >> >>>> + /* jump to BCV function entry pointer */ >>>> + mov bp, sp ;; Call ROM BCV routine using seg:off on stack >>>> + db 0xff ;; call_far ss:[bp+0] >>>> + db 0x5e >>>> + db 0 >>>> + cli ;; In case expansion ROM BIOS turns IF on >>>> + add sp, #2 ;; Pop offset value >>>> + pop cx ;; Pop seg value (restore CX) >>>> + ja no_bev >>> >>> ja? not jmp? >>> >> Oops. yes jmp. > > Can you please resend a fixed version? > > Thanks > Sebastian > >Sorry, and thank you for your review. I updeted our patch. Signed-off-by: Akio Takebe <takebe_akio@jp.fujitsu.com> Signed-off-by: Kouya Shimura <kouya@jp.fujitsu.com> Best Regards, Akio Takebe _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel