diff options
author | kaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk> | 2006-05-16 16:34:27 +0100 |
---|---|---|
committer | kaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk> | 2006-05-16 16:34:27 +0100 |
commit | 53f14393388c8228ea9ef88b3a698c24054b8db4 (patch) | |
tree | 08302bd7d1bf1e5b8b7ffd7e80f9d6346cefbb00 /extras/mini-os/console | |
parent | eca207adce3e1b0f7aadb9caf1751c93adcaa1ca (diff) | |
download | xen-53f14393388c8228ea9ef88b3a698c24054b8db4.tar.gz xen-53f14393388c8228ea9ef88b3a698c24054b8db4.tar.bz2 xen-53f14393388c8228ea9ef88b3a698c24054b8db4.zip |
[MINIOS] Fix the pagefault handler to detect recursive faults.
Signed-off-by: Grzegorz Milos <gm281@cam.ac.uk>
Diffstat (limited to 'extras/mini-os/console')
-rw-r--r-- | extras/mini-os/console/console.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/extras/mini-os/console/console.c b/extras/mini-os/console/console.c index 342a1edd45..29fdd99f3b 100644 --- a/extras/mini-os/console/console.c +++ b/extras/mini-os/console/console.c @@ -45,6 +45,10 @@ #include <xen/io/console.h> +/* Copies all print output to the Xen emergency console apart + of standard dom0 handled console */ +#define USE_XEN_CONSOLE + /* Low level functions defined in xencons_ring.c */ extern int xencons_ring_init(void); extern int xencons_ring_send(const char *data, unsigned len); @@ -117,7 +121,9 @@ void print(int direct, const char *fmt, va_list args) (void)HYPERVISOR_console_io(CONSOLEIO_write, strlen(buf), buf); return; } else { - if(!console_initialised) +#ifndef USE_XEN_CONSOLE + if(!console_initialised) +#endif (void)HYPERVISOR_console_io(CONSOLEIO_write, strlen(buf), buf); console_print(buf, strlen(buf)); @@ -128,7 +134,7 @@ void printk(const char *fmt, ...) { va_list args; va_start(args, fmt); - print(1, fmt, args); + print(0, fmt, args); va_end(args); } |