All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/3] enable Xen support by default.
  2012-06-28 10:08 [PATCH 0/3] Fixes for running under Xen Ian Campbell
@ 2012-06-28 10:08 ` Ian Campbell
  2012-06-28 10:08 ` [PATCH 2/3] Xen: Autodetect debug I/O port at runtime instead of via Kconfig Ian Campbell
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Ian Campbell @ 2012-06-28 10:08 UTC (permalink / raw)
  To: seabios; +Cc: Ian Campbell, xen-devel

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
---
 src/Kconfig |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/src/Kconfig b/src/Kconfig
index 25b2b1b..8120ff7 100644
--- a/src/Kconfig
+++ b/src/Kconfig
@@ -13,7 +13,7 @@ menu "General Features"
     config XEN
         depends on !COREBOOT
         bool "Build for Xen HVM"
-        default n
+        default y
         help
             Configure to be used by xen hvmloader, for a HVM guest.
 
-- 
1.7.2.5

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 2/3] Xen: Autodetect debug I/O port at runtime instead of via Kconfig
  2012-06-28 10:08 [PATCH 0/3] Fixes for running under Xen Ian Campbell
  2012-06-28 10:08 ` [PATCH 1/3] enable Xen support by default Ian Campbell
@ 2012-06-28 10:08 ` Ian Campbell
  2012-06-28 10:08 ` [PATCH 3/3] SMM: Disable use of SMM when running under Xen Ian Campbell
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Ian Campbell @ 2012-06-28 10:08 UTC (permalink / raw)
  To: seabios; +Cc: Ian Campbell, xen-devel

This allows a common image which supports Xen to still print debug

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
---
 src/Kconfig  |    7 -------
 src/output.c |    4 +++-
 src/util.h   |    1 +
 src/xen.c    |    6 ++++++
 4 files changed, 10 insertions(+), 8 deletions(-)

diff --git a/src/Kconfig b/src/Kconfig
index 8120ff7..8932c9e 100644
--- a/src/Kconfig
+++ b/src/Kconfig
@@ -361,11 +361,4 @@ menu "Debugging"
             information by outputing strings in a special port present in the
             IO space.
 
-    config DEBUG_IO_PORT
-        depends on DEBUG_IO
-        hex "Debug IO port address"
-        default 0x0402
-        help
-            Bochs uses the 0x0402 address by default, whereas Xen
-            makes the 0xe9 IO address available for guests use.
 endmenu
diff --git a/src/output.c b/src/output.c
index 37c4942..83de7f4 100644
--- 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, GET_GLOBAL(DebugOutputPort));
     if (c == '\n')
         debug_serial('\r');
     debug_serial(c);
diff --git a/src/util.h b/src/util.h
index dbee0e5..ef8ec7c 100644
--- a/src/util.h
+++ b/src/util.h
@@ -231,6 +231,7 @@ int wait_preempt(void);
 void check_preempt(void);
 
 // output.c
+extern u16 DebugOutputPort;
 void debug_serial_setup(void);
 void panic(const char *fmt, ...)
     __attribute__ ((format (printf, 1, 2))) __noreturn;
diff --git a/src/xen.c b/src/xen.c
index b18cca2..41aab98 100644
--- a/src/xen.c
+++ b/src/xen.c
@@ -65,6 +65,10 @@ 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, "SeaBIOS (version %s)\n\n", VERSION);
+            dprintf(1, "Found Xen hypervisor signature at %x\n", base);
             if ((eax - base) < 2)
                 panic("Insufficient Xen cpuid leaves. eax=%x at base %x\n",
                       eax, base);
@@ -72,6 +76,8 @@ void xen_probe(void)
             break;
         }
     }
+    if (!xen_cpuid_base)
+        dprintf(1, "No Xen hypervisor found.\n");
 }
 
 static int hypercall_xen_version( int cmd, void *arg)
-- 
1.7.2.5

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 3/3] SMM: Disable use of SMM when running under Xen
  2012-06-28 10:08 [PATCH 0/3] Fixes for running under Xen Ian Campbell
  2012-06-28 10:08 ` [PATCH 1/3] enable Xen support by default Ian Campbell
  2012-06-28 10:08 ` [PATCH 2/3] Xen: Autodetect debug I/O port at runtime instead of via Kconfig Ian Campbell
@ 2012-06-28 10:08 ` Ian Campbell
  2012-06-28 10:16 ` [PATCH 0/3] Fixes for " Ian Campbell
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Ian Campbell @ 2012-06-28 10:08 UTC (permalink / raw)
  To: seabios; +Cc: Ian Campbell, xen-devel

Xen does not support SMM mode.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
---
 src/smm.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/src/smm.c b/src/smm.c
index 72e5e88..d0d1476 100644
--- a/src/smm.c
+++ b/src/smm.c
@@ -10,6 +10,7 @@
 #include "config.h" // CONFIG_*
 #include "ioport.h" // outb
 #include "pci_ids.h" // PCI_VENDOR_ID_INTEL
+#include "xen.h" // usingXen
 
 ASM32FLAT(
     ".global smm_relocation_start\n"
@@ -151,6 +152,8 @@ smm_init(void)
         return;
     if (!CONFIG_USE_SMM)
         return;
+    if (usingXen())
+	return;
 
     dprintf(3, "init smm\n");
     pci_find_init_device(smm_init_tbl, NULL);
-- 
1.7.2.5

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 0/3] Fixes for running under Xen
@ 2012-06-28 10:08 Ian Campbell
  2012-06-28 10:08 ` [PATCH 1/3] enable Xen support by default Ian Campbell
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: Ian Campbell @ 2012-06-28 10:08 UTC (permalink / raw)
  To: seabios

The following are a few issues discovered in the course of investigating
Debian bug #678042 [0], including the fix for that actual bug (which is
cause by Xen not supporting SMM mode).

The following changes since commit 9166c4ae6d21d49bd97e0fb42eea2ffd6dd6f06d:

  Xen: add definition of xen_hypercall_page (2012-06-27 21:07:24 -0400)

are available in the git repository at:
  git://xenbits.xen.org/people/ianc/seabios.git bugfixes

Ian Campbell (3):
      enable Xen support by default.
      Xen: Autodetect debug I/O port at runtime instead of via Kconfig
      SMM: Disable use of SMM when running under Xen

 src/Kconfig  |    9 +--------
 src/output.c |    4 +++-
 src/smm.c    |    3 +++
 src/util.h   |    1 +
 src/xen.c    |    6 ++++++
 5 files changed, 14 insertions(+), 9 deletions(-)

Thanks,
Ian.

[0] http://bugs.debian.org/678042

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 0/3] Fixes for running under Xen
  2012-06-28 10:08 [PATCH 0/3] Fixes for running under Xen Ian Campbell
                   ` (2 preceding siblings ...)
  2012-06-28 10:08 ` [PATCH 3/3] SMM: Disable use of SMM when running under Xen Ian Campbell
@ 2012-06-28 10:16 ` Ian Campbell
  2012-07-02 15:18 ` [SeaBIOS] " Kevin O'Connor
       [not found] ` <20120702151832.GA27558@morn.localdomain>
  5 siblings, 0 replies; 7+ messages in thread
From: Ian Campbell @ 2012-06-28 10:16 UTC (permalink / raw)
  To: seabios; +Cc: xen-devel

Sorry, forgot to CC xen-devel on the 0/3 mail, and obviously when I
bounced it to xen-devel it didn't make it into the CC line either.
Please CC both lists if you happen to reply...

On Thu, 2012-06-28 at 11:08 +0100, Ian Campbell wrote:
> The following are a few issues discovered in the course of investigating
> Debian bug #678042 [0], including the fix for that actual bug (which is
> cause by Xen not supporting SMM mode).
> 
> The following changes since commit 9166c4ae6d21d49bd97e0fb42eea2ffd6dd6f06d:
> 
>   Xen: add definition of xen_hypercall_page (2012-06-27 21:07:24 -0400)
> 
> are available in the git repository at:
>   git://xenbits.xen.org/people/ianc/seabios.git bugfixes
> 
> Ian Campbell (3):
>       enable Xen support by default.
>       Xen: Autodetect debug I/O port at runtime instead of via Kconfig
>       SMM: Disable use of SMM when running under Xen
> 
>  src/Kconfig  |    9 +--------
>  src/output.c |    4 +++-
>  src/smm.c    |    3 +++
>  src/util.h   |    1 +
>  src/xen.c    |    6 ++++++
>  5 files changed, 14 insertions(+), 9 deletions(-)
> 
> Thanks,
> Ian.
> 
> [0] http://bugs.debian.org/678042
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [SeaBIOS] [PATCH 0/3] Fixes for running under Xen
  2012-06-28 10:08 [PATCH 0/3] Fixes for running under Xen Ian Campbell
                   ` (3 preceding siblings ...)
  2012-06-28 10:16 ` [PATCH 0/3] Fixes for " Ian Campbell
@ 2012-07-02 15:18 ` Kevin O'Connor
       [not found] ` <20120702151832.GA27558@morn.localdomain>
  5 siblings, 0 replies; 7+ messages in thread
From: Kevin O'Connor @ 2012-07-02 15:18 UTC (permalink / raw)
  To: Ian Campbell, xen-devel; +Cc: seabios

On Thu, Jun 28, 2012 at 11:07:50AM +0100, Ian Campbell wrote:
> The following are a few issues discovered in the course of investigating
> Debian bug #678042 [0], including the fix for that actual bug (which is
> cause by Xen not supporting SMM mode).

Thanks.  I applied your changes.

-Kevin

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [SeaBIOS] [PATCH 0/3] Fixes for running under Xen
       [not found] ` <20120702151832.GA27558@morn.localdomain>
@ 2012-07-02 16:01   ` Ian Campbell
  0 siblings, 0 replies; 7+ messages in thread
From: Ian Campbell @ 2012-07-02 16:01 UTC (permalink / raw)
  To: Kevin O'Connor; +Cc: seabios, xen-devel

On Mon, 2012-07-02 at 11:18 -0400, Kevin O'Connor wrote:
> On Thu, Jun 28, 2012 at 11:07:50AM +0100, Ian Campbell wrote:
> > The following are a few issues discovered in the course of investigating
> > Debian bug #678042 [0], including the fix for that actual bug (which is
> > cause by Xen not supporting SMM mode).
> 
> Thanks.  I applied your changes.

Thank you!

> 
> -Kevin
> 
> _______________________________________________
> SeaBIOS mailing list
> SeaBIOS@seabios.org
> http://www.seabios.org/mailman/listinfo/seabios
> 

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2012-07-02 16:01 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-06-28 10:08 [PATCH 0/3] Fixes for running under Xen Ian Campbell
2012-06-28 10:08 ` [PATCH 1/3] enable Xen support by default Ian Campbell
2012-06-28 10:08 ` [PATCH 2/3] Xen: Autodetect debug I/O port at runtime instead of via Kconfig Ian Campbell
2012-06-28 10:08 ` [PATCH 3/3] SMM: Disable use of SMM when running under Xen Ian Campbell
2012-06-28 10:16 ` [PATCH 0/3] Fixes for " Ian Campbell
2012-07-02 15:18 ` [SeaBIOS] " Kevin O'Connor
     [not found] ` <20120702151832.GA27558@morn.localdomain>
2012-07-02 16:01   ` Ian Campbell

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.