[SeaBIOS] Bug#678042: seabios - Please enable Xen support

Kevin O'Connor kevin at koconnor.net
Wed Jun 27 14:48:25 CEST 2012


On Wed, Jun 27, 2012 at 11:55:11AM +0100, Ian Campbell wrote:
> Yes, this makes sense. I actually went one further and nuked the Kconfig
> option, since it's only real non-default use was Xen. So now I makde it
> default to 0x402 and set it to 0xe9 in the Xen case.
[...]
> --- a/src/output.c
> +++ b/src/output.c
> @@ -23,6 +23,8 @@ struct putcinfo {
>  
>  #define DEBUG_TIMEOUT 100000
>  
> +u16 DebugOutputPort VAR16VISIBLE = 0x402;
> +
>  void
>  debug_serial_setup(void)
>  {
> @@ -77,7 +79,7 @@ putc_debug(struct putcinfo *action, char c)
>          return;
>      if (CONFIG_DEBUG_IO)
>          // Send character to debug port.
> -        outb(c, CONFIG_DEBUG_IO_PORT);
> +        outb(c, DebugOutputPort);

That needs to be GET_GLOBAL(DebugOutputPort).

[...]
> --- a/src/xen.c
> +++ b/src/xen.c
> @@ -64,6 +64,9 @@ void xen_probe(void)
>          dprintf(1, "Found hypervisor signature \"%s\" at %x\n",
>                  signature, base);
>          if (strcmp(signature, "XenVMMXenVMM") == 0) {
> +            /* Set debug_io_port first, so the following messages work. */
> +            DebugOutputPort = 0xe9;
> +            dprintf(1, "Found Xen hypervisor signature at %x\n", base);

The seabios version should probably be printed again as well.

-Kevin



More information about the SeaBIOS mailing list