summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--linux-2.6-qemu-fast.patch305
-rw-r--r--linux-2.6.9-qemu-fast.patch70
2 files changed, 70 insertions, 305 deletions
diff --git a/linux-2.6-qemu-fast.patch b/linux-2.6-qemu-fast.patch
deleted file mode 100644
index 34ca5a2..0000000
--- a/linux-2.6-qemu-fast.patch
+++ /dev/null
@@ -1,305 +0,0 @@
-diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .32324-linux-2.6.0/arch/i386/Kconfig .32324-linux-2.6.0.updated/arch/i386/Kconfig
---- .32324-linux-2.6.0/arch/i386/Kconfig 2003-10-09 18:02:48.000000000 +1000
-+++ .32324-linux-2.6.0.updated/arch/i386/Kconfig 2003-12-26 16:46:49.000000000 +1100
-@@ -307,6 +307,14 @@ config X86_GENERIC
- when it has moderate overhead. This is intended for generic
- distributions kernels.
-
-+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
- #
-diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .32324-linux-2.6.0/arch/i386/kernel/Makefile .32324-linux-2.6.0.updated/arch/i386/kernel/Makefile
---- .32324-linux-2.6.0/arch/i386/kernel/Makefile 2003-09-29 10:25:15.000000000 +1000
-+++ .32324-linux-2.6.0.updated/arch/i386/kernel/Makefile 2003-12-26 16:46:49.000000000 +1100
-@@ -46,12 +46,14 @@ quiet_cmd_syscall = SYSCALL $@
- cmd_syscall = $(CC) -nostdlib $(SYSCFLAGS_$(@F)) \
- -Wl,-T,$(filter-out FORCE,$^) -o $@
-
-+export AFLAGS_vsyscall.lds.o += -P -C -U$(ARCH)
-+
- vsyscall-flags = -shared -s -Wl,-soname=linux-gate.so.1
- SYSCFLAGS_vsyscall-sysenter.so = $(vsyscall-flags)
- SYSCFLAGS_vsyscall-int80.so = $(vsyscall-flags)
-
- $(obj)/vsyscall-int80.so $(obj)/vsyscall-sysenter.so: \
--$(obj)/vsyscall-%.so: $(src)/vsyscall.lds $(obj)/vsyscall-%.o FORCE
-+$(obj)/vsyscall-%.so: $(src)/vsyscall.lds.s $(obj)/vsyscall-%.o FORCE
- $(call if_changed,syscall)
-
- # We also create a special relocatable object that should mirror the symbol
-@@ -62,5 +64,5 @@ $(obj)/built-in.o: $(obj)/vsyscall-syms.
- $(obj)/built-in.o: ld_flags += -R $(obj)/vsyscall-syms.o
-
- SYSCFLAGS_vsyscall-syms.o = -r
--$(obj)/vsyscall-syms.o: $(src)/vsyscall.lds $(obj)/vsyscall-sysenter.o FORCE
-+$(obj)/vsyscall-syms.o: $(src)/vsyscall.lds.s $(obj)/vsyscall-sysenter.o FORCE
- $(call if_changed,syscall)
-diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .32324-linux-2.6.0/arch/i386/kernel/vmlinux.lds.S .32324-linux-2.6.0.updated/arch/i386/kernel/vmlinux.lds.S
---- .32324-linux-2.6.0/arch/i386/kernel/vmlinux.lds.S 2003-09-22 10:27:28.000000000 +1000
-+++ .32324-linux-2.6.0.updated/arch/i386/kernel/vmlinux.lds.S 2003-12-26 16:46:49.000000000 +1100
-@@ -3,6 +3,7 @@
- */
-
- #include <asm-generic/vmlinux.lds.h>
-+#include <asm/page.h>
-
- OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386")
- OUTPUT_ARCH(i386)
-@@ -10,7 +11,7 @@ ENTRY(startup_32)
- jiffies = jiffies_64;
- SECTIONS
- {
-- . = 0xC0000000 + 0x100000;
-+ . = __PAGE_OFFSET + 0x100000;
- /* read-only */
- _text = .; /* Text and read-only data */
- .text : {
-diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .32324-linux-2.6.0/arch/i386/kernel/vsyscall.lds .32324-linux-2.6.0.updated/arch/i386/kernel/vsyscall.lds
---- .32324-linux-2.6.0/arch/i386/kernel/vsyscall.lds 2003-09-22 10:07:26.000000000 +1000
-+++ .32324-linux-2.6.0.updated/arch/i386/kernel/vsyscall.lds 1970-01-01 10:00:00.000000000 +1000
-@@ -1,67 +0,0 @@
--/*
-- * Linker script for vsyscall DSO. The vsyscall page is an ELF shared
-- * object prelinked to its virtual address, and with only one read-only
-- * segment (that fits in one page). This script controls its layout.
-- */
--
--/* This must match <asm/fixmap.h>. */
--VSYSCALL_BASE = 0xffffe000;
--
--SECTIONS
--{
-- . = VSYSCALL_BASE + SIZEOF_HEADERS;
--
-- .hash : { *(.hash) } :text
-- .dynsym : { *(.dynsym) }
-- .dynstr : { *(.dynstr) }
-- .gnu.version : { *(.gnu.version) }
-- .gnu.version_d : { *(.gnu.version_d) }
-- .gnu.version_r : { *(.gnu.version_r) }
--
-- /* This linker script is used both with -r and with -shared.
-- For the layouts to match, we need to skip more than enough
-- space for the dynamic symbol table et al. If this amount
-- is insufficient, ld -shared will barf. Just increase it here. */
-- . = VSYSCALL_BASE + 0x400;
--
-- .text : { *(.text) } :text =0x90909090
--
-- .eh_frame_hdr : { *(.eh_frame_hdr) } :text :eh_frame_hdr
-- .eh_frame : { KEEP (*(.eh_frame)) } :text
-- .dynamic : { *(.dynamic) } :text :dynamic
-- .useless : {
-- *(.got.plt) *(.got)
-- *(.data .data.* .gnu.linkonce.d.*)
-- *(.dynbss)
-- *(.bss .bss.* .gnu.linkonce.b.*)
-- } :text
--}
--
--/*
-- * We must supply the ELF program headers explicitly to get just one
-- * PT_LOAD segment, and set the flags explicitly to make segments read-only.
-- */
--PHDRS
--{
-- text PT_LOAD FILEHDR PHDRS FLAGS(5); /* PF_R|PF_X */
-- dynamic PT_DYNAMIC FLAGS(4); /* PF_R */
-- eh_frame_hdr 0x6474e550; /* PT_GNU_EH_FRAME, but ld doesn't match the name */
--}
--
--/*
-- * This controls what symbols we export from the DSO.
-- */
--VERSION
--{
-- LINUX_2.5 {
-- global:
-- __kernel_vsyscall;
-- __kernel_sigreturn;
-- __kernel_rt_sigreturn;
--
-- local: *;
-- };
--}
--
--/* The ELF entry point can be used to set the AT_SYSINFO value. */
--ENTRY(__kernel_vsyscall);
-diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .32324-linux-2.6.0/arch/i386/kernel/vsyscall.lds.S .32324-linux-2.6.0.updated/arch/i386/kernel/vsyscall.lds.S
---- .32324-linux-2.6.0/arch/i386/kernel/vsyscall.lds.S 1970-01-01 10:00:00.000000000 +1000
-+++ .32324-linux-2.6.0.updated/arch/i386/kernel/vsyscall.lds.S 2003-12-26 16:46:49.000000000 +1100
-@@ -0,0 +1,67 @@
-+/*
-+ * Linker script for vsyscall DSO. The vsyscall page is an ELF shared
-+ * object prelinked to its virtual address, and with only one read-only
-+ * segment (that fits in one page). This script controls its layout.
-+ */
-+#include <asm/fixmap.h>
-+
-+VSYSCALL_BASE = __FIXADDR_TOP - 0x1000;
-+
-+SECTIONS
-+{
-+ . = VSYSCALL_BASE + SIZEOF_HEADERS;
-+
-+ .hash : { *(.hash) } :text
-+ .dynsym : { *(.dynsym) }
-+ .dynstr : { *(.dynstr) }
-+ .gnu.version : { *(.gnu.version) }
-+ .gnu.version_d : { *(.gnu.version_d) }
-+ .gnu.version_r : { *(.gnu.version_r) }
-+
-+ /* This linker script is used both with -r and with -shared.
-+ For the layouts to match, we need to skip more than enough
-+ space for the dynamic symbol table et al. If this amount
-+ is insufficient, ld -shared will barf. Just increase it here. */
-+ . = VSYSCALL_BASE + 0x400;
-+
-+ .text : { *(.text) } :text =0x90909090
-+
-+ .eh_frame_hdr : { *(.eh_frame_hdr) } :text :eh_frame_hdr
-+ .eh_frame : { KEEP (*(.eh_frame)) } :text
-+ .dynamic : { *(.dynamic) } :text :dynamic
-+ .useless : {
-+ *(.got.plt) *(.got)
-+ *(.data .data.* .gnu.linkonce.d.*)
-+ *(.dynbss)
-+ *(.bss .bss.* .gnu.linkonce.b.*)
-+ } :text
-+}
-+
-+/*
-+ * We must supply the ELF program headers explicitly to get just one
-+ * PT_LOAD segment, and set the flags explicitly to make segments read-only.
-+ */
-+PHDRS
-+{
-+ text PT_LOAD FILEHDR PHDRS FLAGS(5); /* PF_R|PF_X */
-+ dynamic PT_DYNAMIC FLAGS(4); /* PF_R */
-+ eh_frame_hdr 0x6474e550; /* PT_GNU_EH_FRAME, but ld doesn't match the name */
-+}
-+
-+/*
-+ * This controls what symbols we export from the DSO.
-+ */
-+VERSION
-+{
-+ LINUX_2.5 {
-+ global:
-+ __kernel_vsyscall;
-+ __kernel_sigreturn;
-+ __kernel_rt_sigreturn;
-+
-+ local: *;
-+ };
-+}
-+
-+/* The ELF entry point can be used to set the AT_SYSINFO value. */
-+ENTRY(__kernel_vsyscall);
-diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .32324-linux-2.6.0/include/asm-i386/fixmap.h .32324-linux-2.6.0.updated/include/asm-i386/fixmap.h
---- .32324-linux-2.6.0/include/asm-i386/fixmap.h 2003-09-22 10:09:12.000000000 +1000
-+++ .32324-linux-2.6.0.updated/include/asm-i386/fixmap.h 2003-12-26 16:46:49.000000000 +1100
-@@ -14,6 +14,19 @@
- #define _ASM_FIXMAP_H
-
- #include <linux/config.h>
-+
-+/* used by vmalloc.c, vsyscall.lds.S.
-+ *
-+ * 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>
- #include <asm/acpi.h>
- #include <asm/apicdef.h>
-@@ -94,13 +107,8 @@ extern void __set_fixmap (enum fixed_add
- #define clear_fixmap(idx) \
- __set_fixmap(idx, 0, __pgprot(0))
-
--/*
-- * used by vmalloc.c.
-- *
-- * Leave one empty page between vmalloc'ed areas and
-- * the start of the fixmap.
-- */
--#define FIXADDR_TOP (0xfffff000UL)
-+#define FIXADDR_TOP ((unsigned long)__FIXADDR_TOP)
-+
- #define __FIXADDR_SIZE (__end_of_permanent_fixed_addresses << PAGE_SHIFT)
- #define FIXADDR_START (FIXADDR_TOP - __FIXADDR_SIZE)
-
-@@ -145,4 +153,5 @@ static inline unsigned long virt_to_fix(
- return __virt_to_fix(vaddr);
- }
-
-+#endif /* !__ASSEMBLY__ */
- #endif
-diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .32324-linux-2.6.0/include/asm-i386/page.h .32324-linux-2.6.0.updated/include/asm-i386/page.h
---- .32324-linux-2.6.0/include/asm-i386/page.h 2003-09-22 10:06:42.000000000 +1000
-+++ .32324-linux-2.6.0.updated/include/asm-i386/page.h 2003-12-26 16:46:49.000000000 +1100
-@@ -10,10 +10,10 @@
- #define LARGE_PAGE_SIZE (1UL << PMD_SHIFT)
-
- #ifdef __KERNEL__
--#ifndef __ASSEMBLY__
--
- #include <linux/config.h>
-
-+#ifndef __ASSEMBLY__
-+
- #ifdef CONFIG_X86_USE_3DNOW
-
- #include <asm/mmx.h>
-@@ -115,12 +115,19 @@ static __inline__ int get_order(unsigned
- #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)
-diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .32324-linux-2.6.0/include/asm-i386/param.h .32324-linux-2.6.0.updated/include/asm-i386/param.h
---- .32324-linux-2.6.0/include/asm-i386/param.h 2003-09-21 17:26:06.000000000 +1000
-+++ .32324-linux-2.6.0.updated/include/asm-i386/param.h 2003-12-26 16:46:49.000000000 +1100
-@@ -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
diff --git a/linux-2.6.9-qemu-fast.patch b/linux-2.6.9-qemu-fast.patch
new file mode 100644
index 0000000..f8ecd0b
--- /dev/null
+++ b/linux-2.6.9-qemu-fast.patch
@@ -0,0 +1,70 @@
+--- 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
OpenPOWER on IntegriCloud