All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Sebastian Herbszt" <herbszt@gmx.de>
To: Akio Takebe <takebe_akio@jp.fujitsu.com>,
	xen-devel <xen-devel@lists.xensource.com>,
	bochs-developers@lists.sourceforge.net
Subject: Re: [Patch] [BIOS] support BCV for rombios
Date: Thu, 11 Dec 2008 01:02:40 +0100	[thread overview]
Message-ID: <BDF02097EE37479DB058D43E9F363B78@FSCPC> (raw)
In-Reply-To: <0C959291A7343takebe_akio@jp.fujitsu.com>

Akio Takebe wrote:
> 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
> 
> Index: rombios.c
> ===================================================================
> RCS file: /cvsroot/bochs/bochs/bios/rombios.c,v
> retrieving revision 1.209
> diff -c -r1.209 rombios.c
> *** rombios.c 2 Jun 2008 20:08:10 -0000 1.209
> --- rombios.c 8 Dec 2008 10:09:53 -0000
> ***************
> *** 10194,10199 ****
> --- 10194,10223 ----
>     mov  ax, 2[bx]
>     cmp  ax, #0x506e
>     jne  no_bev
> + 
> +   mov  ax, 0x16[bx] ;; 0x16 is the offset of Boot Connection Vector
> +   cmp  ax, #0x0000
> +   je   no_bcv
> + 
> +   ;; Option ROM has BCV. Run it now.
> +   push cx       ;; Push seg
> +   push ax       ;; Push offset
> + 
> +   ;; 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.

> +   /* 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?

> + 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

- Sebastian


------------------------------------------------------------------------------
SF.Net email is Sponsored by MIX09, March 18-20, 2009 in Las Vegas, Nevada.
The future of the web can't happen without you.  Join us at MIX09 to help
pave the way to the Next Web now. Learn more and register at
http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix.com/

  reply	other threads:[~2008-12-11  0:02 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-12-08 11:35 [Patch] [BIOS] support BCV for rombios Akio Takebe
2008-12-11  0:02 ` Sebastian Herbszt [this message]
2008-12-11  4:57   ` Michael Brown
2008-12-11  5:55     ` [Bochs-developers] " Akio Takebe
2008-12-11  6:14   ` Akio Takebe
2008-12-17 20:59     ` Sebastian Herbszt
2008-12-18  6:17       ` [Bochs-developers] " Akio Takebe

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=BDF02097EE37479DB058D43E9F363B78@FSCPC \
    --to=herbszt@gmx.de \
    --cc=bochs-developers@lists.sourceforge.net \
    --cc=takebe_akio@jp.fujitsu.com \
    --cc=xen-devel@lists.xensource.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.