| --- linux-2.6.9/arch/i386/Kconfig 2004-10-18 23:53:22.000000000 +0200 |
| +++ linux-2.6.9-qemu/arch/i386/Kconfig 2004-12-07 21:56:49.000000000 +0100 |
| @@ -337,6 +337,14 @@ config X86_GENERIC |
| |
| endif |
| |
| +config QEMU |
| + bool "Kernel to run under QEMU" |
| + depends on EXPERIMENTAL |
| + help |
| + Select this if you want to boot the kernel inside qemu-fast, |
| + the non-mmu version of the x86 emulator. See |
| + <http://fabrice.bellard.free.fr/qemu/>. Say N. |
| + |
| # |
| # Define implied options from the CPU selection here |
| # |
| --- linux-2.6.9/include/asm-i386/fixmap.h 2004-10-18 23:53:08.000000000 +0200 |
| +++ linux-2.6.9-qemu/include/asm-i386/fixmap.h 2004-12-07 23:16:11.000000000 +0100 |
| @@ -20,7 +20,11 @@ |
| * Leave one empty page between vmalloc'ed areas and |
| * the start of the fixmap. |
| */ |
| +#ifdef CONFIG_QEMU |
| +#define __FIXADDR_TOP 0xa7fff000 |
| +#else |
| #define __FIXADDR_TOP 0xfffff000 |
| +#endif |
| |
| #ifndef __ASSEMBLY__ |
| #include <linux/kernel.h> |
| --- linux-2.6.9/include/asm-i386/page.h 2004-10-18 23:53:22.000000000 +0200 |
| +++ linux-2.6.9-qemu/include/asm-i386/page.h 2004-12-07 21:56:49.000000000 +0100 |
| @@ -121,12 +121,19 @@ extern int sysctl_legacy_va_layout; |
| #endif /* __ASSEMBLY__ */ |
| |
| #ifdef __ASSEMBLY__ |
| +#ifdef CONFIG_QEMU |
| +#define __PAGE_OFFSET (0x90000000) |
| +#else |
| #define __PAGE_OFFSET (0xC0000000) |
| +#endif /* QEMU */ |
| +#else |
| +#ifdef CONFIG_QEMU |
| +#define __PAGE_OFFSET (0x90000000UL) |
| #else |
| #define __PAGE_OFFSET (0xC0000000UL) |
| +#endif /* QEMU */ |
| #endif |
| |
| - |
| #define PAGE_OFFSET ((unsigned long)__PAGE_OFFSET) |
| #define VMALLOC_RESERVE ((unsigned long)__VMALLOC_RESERVE) |
| #define MAXMEM (-__PAGE_OFFSET-__VMALLOC_RESERVE) |
| --- linux-2.6.9/include/asm-i386/param.h 2004-10-18 23:53:24.000000000 +0200 |
| +++ linux-2.6.9-qemu/include/asm-i386/param.h 2004-12-07 21:56:49.000000000 +0100 |
| @@ -2,7 +2,12 @@ |
| #define _ASMi386_PARAM_H |
| |
| #ifdef __KERNEL__ |
| -# define HZ 1000 /* Internal kernel timer frequency */ |
| +# include <linux/config.h> |
| +# ifdef CONFIG_QEMU |
| +# define HZ 100 |
| +# else |
| +# define HZ 1000 /* Internal kernel timer frequency */ |
| +# endif |
| # define USER_HZ 100 /* .. some user interfaces are in "ticks" */ |
| # define CLOCKS_PER_SEC (USER_HZ) /* like times() */ |
| #endif |