All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/5] Boot protocol changes
@ 2007-10-02 23:34 Rusty Russell
  2007-10-02 23:35 ` [PATCH 1/5] update boot spec to 2.07 Rusty Russell
                   ` (2 more replies)
  0 siblings, 3 replies; 25+ messages in thread
From: Rusty Russell @ 2007-10-02 23:34 UTC (permalink / raw)
  To: lkml - Kernel Mailing List, Jeremy Fitzhardinge
  Cc: H. Peter Anvin, Vivek Goyal, lguest, Eric W. Biederman

Hi all,

	Jeremy had some boot changes for bzImages, but buried in there was an
update to the boot protocol to support Xen and lguest (and kvm-lite).
I've copied those fairly simple patches, and if HPA is happy I'd like to
push them for 2.6.24 (after correcting for the Great Arch Merge of
course).

Thanks,
Rusty.


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

* [PATCH 1/5] update boot spec to 2.07
  2007-10-02 23:34 [PATCH 0/5] Boot protocol changes Rusty Russell
@ 2007-10-02 23:35 ` Rusty Russell
  2007-10-02 23:35   ` [PATCH 2/5] add WEAK() for creating weak asm labels Rusty Russell
  2007-10-30  6:38   ` [PATCH 1/5] update boot spec to 2.07 rae l
  2007-10-02 23:44 ` [PATCH 0/5] Boot protocol changes H. Peter Anvin
  2007-10-02 23:46 ` Jeremy Fitzhardinge
  2 siblings, 2 replies; 25+ messages in thread
From: Rusty Russell @ 2007-10-02 23:35 UTC (permalink / raw)
  To: lkml - Kernel Mailing List
  Cc: Jeremy Fitzhardinge, H. Peter Anvin, Vivek Goyal, lguest,
	Eric W. Biederman

Proposed updates for version 2.07 of the boot protocol.  This includes:

load_flags.KEEP_SEGMENTS- flag to request/inhibit segment reloads
hardware_subarch	- what subarchitecture we're booting under
hardware_subarch_data	- per-architecture data

The intention of these changes is to make booting a paravirtualized
kernel work via the normal Linux boot protocol.  The intention is that
the bzImage payload can be a properly formed ELF file, so that the
bootloader can use its ELF notes and Phdrs to get more metadata about
the kernel and its requirements.

The ELF file could be the uncompressed kernel vmlinux itself; it would
only take small buildsystem changes to implement this.

Signed-off-by: Jeremy Fitzhardinge <jeremy@xensource.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Cc: "Eric W. Biederman" <ebiederm@xmission.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Vivek Goyal <vgoyal@in.ibm.com>

---
 Documentation/i386/boot.txt    |   34 +++++++++++++++++++++++++++++++++-
 arch/i386/kernel/asm-offsets.c |    7 +++++++
 include/asm-i386/bootparam.h   |    9 +++++++--
 3 files changed, 47 insertions(+), 3 deletions(-)

diff -r cff7afab3bac Documentation/i386/boot.txt
--- a/Documentation/i386/boot.txt	Tue Oct 02 22:05:10 2007 +1000
+++ b/Documentation/i386/boot.txt	Tue Oct 02 22:05:10 2007 +1000
@@ -168,6 +168,8 @@ 0234/1	2.05+	relocatable_kernel Whether 
 0234/1	2.05+	relocatable_kernel Whether kernel is relocatable or not
 0235/3	N/A	pad2		Unused
 0238/4	2.06+	cmdline_size	Maximum size of the kernel command line
+023C/4	2.07+	hardware_subarch Hardware subarchitecture
+0240/8	2.07+	hardware_subarch_data Subarchitecture-specific data
 
 (1) For backwards compatibility, if the setup_sects field contains 0, the
     real value is 4.
@@ -204,7 +206,7 @@ boot loaders can ignore those fields.
 
 The byte order of all fields is littleendian (this is x86, after all.)
 
-Field name:	setup_secs
+Field name:	setup_sects
 Type:		read
 Offset/size:	0x1f1/1
 Protocol:	ALL
@@ -356,6 +358,13 @@ Protocol:	2.00+
 	- If 0, the protected-mode code is loaded at 0x10000.
 	- If 1, the protected-mode code is loaded at 0x100000.
 
+  Bit 6 (write): KEEP_SEGMENTS
+	Protocol: 2.07+
+	- if 0, reload the segment registers in the 32bit entry point.
+	- if 1, do not reload the segment registers in the 32bit entry point.
+		Assume that %cs %ds %ss %es are all set to flat segments with
+		a base of 0 (or the equivalent for their environment).
+
   Bit 7 (write): CAN_USE_HEAP
 	Set this bit to 1 to indicate that the value entered in the
 	heap_end_ptr is valid.  If this field is clear, some setup code
@@ -479,6 +488,29 @@ Protocol:	2.06+
   zero. This means that the command line can contain at most
   cmdline_size characters. With protocol version 2.05 and earlier, the
   maximum size was 255.
+
+Field name:	hardware_subarch
+Type:		write
+Offset/size:	0x23c/4
+Protocol:	2.07+
+
+  In a paravirtualized environment the hardware low level architectural
+  pieces such as interrupt handling, page table handling, and
+  accessing process control registers needs to be done differently.
+
+  This field allows the bootloader to inform the kernel we are in one
+  one of those environments.
+
+  0x00000000	The default x86/PC environment
+  0x00000001	lguest
+  0x00000002	Xen
+
+Field name:	hardware_subarch_data
+Type:		write
+Offset/size:	0x240/8
+Protocol:	2.07+
+
+  A pointer to data that is specific to hardware subarch
 
 
 **** THE KERNEL COMMAND LINE
diff -r cff7afab3bac arch/i386/kernel/asm-offsets.c
--- a/arch/i386/kernel/asm-offsets.c	Tue Oct 02 22:05:10 2007 +1000
+++ b/arch/i386/kernel/asm-offsets.c	Tue Oct 02 22:05:10 2007 +1000
@@ -15,6 +15,7 @@
 #include <asm/fixmap.h>
 #include <asm/processor.h>
 #include <asm/thread_info.h>
+#include <asm/bootparam.h>
 #include <asm/elf.h>
 
 #include <xen/interface/xen.h>
@@ -145,4 +146,10 @@ void foo(void)
 	OFFSET(LGUEST_PAGES_regs_errcode, lguest_pages, regs.errcode);
 	OFFSET(LGUEST_PAGES_regs, lguest_pages, regs);
 #endif
+
+	BLANK();
+	OFFSET(BP_scratch, boot_params, scratch);
+	OFFSET(BP_loadflags, boot_params, hdr.loadflags);
+	OFFSET(BP_hardware_subarch, boot_params, hdr.hardware_subarch);
+	OFFSET(BP_version, boot_params, hdr.version);
 }
diff -r cff7afab3bac include/asm-i386/bootparam.h
--- a/include/asm-i386/bootparam.h	Tue Oct 02 22:05:10 2007 +1000
+++ b/include/asm-i386/bootparam.h	Tue Oct 02 22:05:10 2007 +1000
@@ -25,8 +25,9 @@ struct setup_header {
 	u16	kernel_version;
 	u8	type_of_loader;
 	u8	loadflags;
-#define LOADED_HIGH	0x01
-#define CAN_USE_HEAP	0x80
+#define LOADED_HIGH	(1<<0)
+#define KEEP_SEGMENTS	(1<<6)
+#define CAN_USE_HEAP	(1<<7)
 	u16	setup_move_size;
 	u32	code32_start;
 	u32	ramdisk_image;
@@ -38,6 +39,10 @@ struct setup_header {
 	u32	initrd_addr_max;
 	u32	kernel_alignment;
 	u8	relocatable_kernel;
+	u8	_pad2[3];
+	u32	cmdline_size;
+	u32	hardware_subarch;
+	u64	hardware_subarch_data;
 } __attribute__((packed));
 
 struct sys_desc_table {



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

* [PATCH 2/5] add WEAK() for creating weak asm labels
  2007-10-02 23:35 ` [PATCH 1/5] update boot spec to 2.07 Rusty Russell
@ 2007-10-02 23:35   ` Rusty Russell
  2007-10-02 23:36     ` [PATCH 3/5] i386: paravirt boot sequence Rusty Russell
  2007-10-30  6:38   ` [PATCH 1/5] update boot spec to 2.07 rae l
  1 sibling, 1 reply; 25+ messages in thread
From: Rusty Russell @ 2007-10-02 23:35 UTC (permalink / raw)
  To: lkml - Kernel Mailing List
  Cc: Jeremy Fitzhardinge, H. Peter Anvin, Vivek Goyal, lguest,
	Eric W. Biederman

Signed-off-by: Jeremy Fitzhardinge <jeremy@xensource.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>

---
 include/linux/linkage.h |    6 ++++++
 1 file changed, 6 insertions(+)

===================================================================
--- a/include/linux/linkage.h
+++ b/include/linux/linkage.h
@@ -34,6 +34,12 @@
   name:
 #endif
 
+#ifndef WEAK
+#define WEAK(name)	   \
+	.weak name;	   \
+	name:
+#endif
+
 #define KPROBE_ENTRY(name) \
   .pushsection .kprobes.text, "ax"; \
   ENTRY(name)



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

* [PATCH 3/5] i386: paravirt boot sequence
  2007-10-02 23:35   ` [PATCH 2/5] add WEAK() for creating weak asm labels Rusty Russell
@ 2007-10-02 23:36     ` Rusty Russell
  2007-10-02 23:39       ` [PATCH 4/5] Revert lguest magic and use hook in head.S Rusty Russell
  0 siblings, 1 reply; 25+ messages in thread
From: Rusty Russell @ 2007-10-02 23:36 UTC (permalink / raw)
  To: lkml - Kernel Mailing List
  Cc: Jeremy Fitzhardinge, H. Peter Anvin, Vivek Goyal, lguest,
	Eric W. Biederman, James Bottomley

This patch uses the updated boot protocol to do paravirtualized boot.
If the boot version is >= 2.07, then it will do two things:

 1. Check the bootparams loadflags to see if we should reload the
    segment registers and clear interrupts.  This is appropriate
    for normal native boot and some paravirtualized environments, but
    inapproprate for others.

 2. Check the hardware architecture, and dispatch to the appropriate
    kernel entrypoint.  If the bootloader doesn't set this, then we
    simply do the normal boot sequence.

Signed-off-by: Jeremy Fitzhardinge <jeremy@xensource.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Cc: "Eric W. Biederman" <ebiederm@xmission.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Vivek Goyal <vgoyal@in.ibm.com>
Cc: James Bottomley <James.Bottomley@HansenPartnership.com>
---
 arch/i386/boot/compressed/head.S |   14 +++++++++--
 arch/i386/boot/compressed/misc.c |    4 +++
 arch/i386/boot/header.S          |    7 ++++-
 arch/i386/kernel/head.S          |   47 ++++++++++++++++++++++++++++++++++----
 4 files changed, 65 insertions(+), 7 deletions(-)

diff -r 5d471e4c931d arch/i386/boot/compressed/head.S
--- a/arch/i386/boot/compressed/head.S	Tue Oct 02 22:13:34 2007 +1000
+++ b/arch/i386/boot/compressed/head.S	Tue Oct 02 22:20:25 2007 +1000
@@ -27,19 +27,30 @@
 #include <asm/segment.h>
 #include <asm/page.h>
 #include <asm/boot.h>
+#include <asm/asm-offsets.h>
 
 .section ".text.head","ax",@progbits
 	.globl startup_32
 
 startup_32:
-	cld
-	cli
+	/* check to see if KEEP_SEGMENTS flag is meaningful */
+	cmpw $0x207, BP_version(%esi)
+	jb 1f
+
+	/* test KEEP_SEGMENTS flag to see if the bootloader is asking
+	 * us to not reload segments */
+	testb $(1<<6), BP_loadflags(%esi)
+	jnz 2f
+
+1:	cli
 	movl $(__BOOT_DS),%eax
 	movl %eax,%ds
 	movl %eax,%es
 	movl %eax,%fs
 	movl %eax,%gs
 	movl %eax,%ss
+
+2:	cld
 
 /* Calculate the delta between where we were compiled to run
  * at and where we were actually loaded at.  This can only be done
diff -r 5d471e4c931d arch/i386/boot/compressed/misc.c
--- a/arch/i386/boot/compressed/misc.c	Tue Oct 02 22:13:34 2007 +1000
+++ b/arch/i386/boot/compressed/misc.c	Tue Oct 02 22:13:34 2007 +1000
@@ -246,6 +246,9 @@ static void putstr(const char *s)
 {
 	int x,y,pos;
 	char c;
+
+	if (RM_SCREEN_INFO.orig_video_mode == 0 && lines == 0 && cols == 0)
+		return;
 
 	x = RM_SCREEN_INFO.orig_x;
 	y = RM_SCREEN_INFO.orig_y;
diff -r 5d471e4c931d arch/i386/boot/header.S
--- a/arch/i386/boot/header.S	Tue Oct 02 22:13:34 2007 +1000
+++ b/arch/i386/boot/header.S	Tue Oct 02 22:13:34 2007 +1000
@@ -119,7 +119,7 @@ 1:
 	# Part 2 of the header, from the old setup.S
 
 		.ascii	"HdrS"		# header signature
-		.word	0x0206		# header version number (>= 0x0105)
+		.word	0x0207		# header version number (>= 0x0105)
 					# or else old loadlin-1.5 will fail)
 		.globl realmode_swtch
 realmode_swtch:	.word	0, 0		# default_switch, SETUPSEG
@@ -214,6 +214,11 @@ cmdline_size:   .long   COMMAND_LINE_SIZ
                                                 #added with boot protocol
                                                 #version 2.06
 
+hardware_subarch:	.long 0			# subarchitecture, added with 2.07
+						# default to 0 for normal x86 PC
+
+hardware_subarch_data:	.quad 0
+
 # End of setup header #####################################################
 
 	.section ".inittext", "ax"
diff -r 5d471e4c931d arch/i386/kernel/head.S
--- a/arch/i386/kernel/head.S	Tue Oct 02 22:13:34 2007 +1000
+++ b/arch/i386/kernel/head.S	Tue Oct 02 22:21:01 2007 +1000
@@ -70,22 +70,30 @@ INIT_MAP_BEYOND_END = BOOTBITMAP_SIZE + 
  */
 .section .text.head,"ax",@progbits
 ENTRY(startup_32)
+	/* check to see if KEEP_SEGMENTS flag is meaningful */
+	cmpw $0x207, BP_version(%esi)
+	jb 1f
+
+	/* test KEEP_SEGMENTS flag to see if the bootloader is asking
+		us to not reload segments */
+	testb $(1<<6), BP_loadflags(%esi)
+	jnz 2f
 
 /*
  * Set segments to known values.
  */
-	cld
-	lgdt boot_gdt_descr - __PAGE_OFFSET
+1:	lgdt boot_gdt_descr - __PAGE_OFFSET
 	movl $(__BOOT_DS),%eax
 	movl %eax,%ds
 	movl %eax,%es
 	movl %eax,%fs
 	movl %eax,%gs
+2:
 
 /*
  * Clear BSS first so that there are no surprises...
- * No need to cld as DF is already clear from cld above...
- */
+ */
+	cld
 	xorl %eax,%eax
 	movl $__bss_start - __PAGE_OFFSET,%edi
 	movl $__bss_stop - __PAGE_OFFSET,%ecx
@@ -119,6 +127,35 @@ 2:
 	movsl
 1:
 
+#ifdef CONFIG_PARAVIRT
+	cmpw $0x207, (boot_params + BP_version - __PAGE_OFFSET)
+	jb default_entry
+
+	/* Paravirt-compatible boot parameters.  Look to see what architecture
+		we're booting under. */
+	movl (boot_params + BP_hardware_subarch - __PAGE_OFFSET), %eax
+	cmpl $num_subarch_entries, %eax
+	jae bad_subarch
+
+	movl subarch_entries - __PAGE_OFFSET(,%eax,4), %eax
+	subl $__PAGE_OFFSET, %eax
+	jmp *%eax
+
+bad_subarch:
+WEAK(lguest_entry)
+WEAK(xen_entry)
+	/* Unknown implementation; there's really
+	   nothing we can do at this point. */
+	ud2a
+.data
+subarch_entries:
+	.long default_entry		/* normal x86/PC */
+	.long lguest_entry		/* lguest hypervisor */
+	.long xen_entry			/* Xen hypervisor */
+num_subarch_entries = (. - subarch_entries) / 4
+.previous
+#endif /* CONFIG_PARAVIRT */
+
 /*
  * Initialize page tables.  This creates a PDE and a set of page
  * tables, which are located immediately beyond _end.  The variable
@@ -131,6 +168,7 @@ 1:
  */
 page_pde_offset = (__PAGE_OFFSET >> 20);
 
+default_entry:
 	movl $(pg0 - __PAGE_OFFSET), %edi
 	movl $(swapper_pg_dir - __PAGE_OFFSET), %edx
 	movl $0x007, %eax			/* 0x007 = PRESENT+RW+USER */



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

* [PATCH 4/5] Revert lguest magic and use hook in head.S
  2007-10-02 23:36     ` [PATCH 3/5] i386: paravirt boot sequence Rusty Russell
@ 2007-10-02 23:39       ` Rusty Russell
  2007-10-02 23:40         ` [PATCH 5/5] lguest: loading bzImage directly Rusty Russell
  0 siblings, 1 reply; 25+ messages in thread
From: Rusty Russell @ 2007-10-02 23:39 UTC (permalink / raw)
  To: lkml - Kernel Mailing List
  Cc: Jeremy Fitzhardinge, H. Peter Anvin, Vivek Goyal, lguest,
	Eric W. Biederman, James Bottomley

Version 2.07 of the boot protocol uses 0x23C for the hardware_subarch
field, that for lguest is "1".  This allows us to use the standard
boot entry point rather than the "GenuineLguest" string hack.

This entry point also clears the BSS and copies the boot parameters
and commandline for us, saving more code.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>

---
 Documentation/lguest/lguest.c |   31 ++++---------------------------
 arch/i386/kernel/head.S       |    8 ++++++++
 drivers/lguest/lguest_asm.S   |    9 +++------
 3 files changed, 15 insertions(+), 33 deletions(-)

diff -r 2fdc577cfe5c Documentation/lguest/lguest.c
--- a/Documentation/lguest/lguest.c	Tue Oct 02 22:21:05 2007 +1000
+++ b/Documentation/lguest/lguest.c	Tue Oct 02 23:00:09 2007 +1000
@@ -251,23 +251,6 @@ static void *get_pages(unsigned int num)
 	return addr;
 }
 
-/* To find out where to start we look for the magic Guest string, which marks
- * the code we see in lguest_asm.S.  This is a hack which we are currently
- * plotting to replace with the normal Linux entry point. */
-static unsigned long entry_point(const void *start, const void *end)
-{
-	const void *p;
-
-	/* The scan gives us the physical starting address.  We boot with
-	 * pagetables set up with virtual and physical the same, so that's
-	 * OK. */
-	for (p = start; p < end; p++)
-		if (memcmp(p, "GenuineLguest", strlen("GenuineLguest")) == 0)
-			return to_guest_phys(p + strlen("GenuineLguest"));
-
-	errx(1, "Is this image a genuine lguest?");
-}
-
 /* This routine is used to load the kernel or initrd.  It tries mmap, but if
  * that fails (Plan 9's kernel file isn't nicely aligned on page boundaries),
  * it falls back to reading the memory in. */
@@ -303,7 +286,6 @@ static void map_at(int fd, void *addr, u
  * We return the starting address. */
 static unsigned long map_elf(int elf_fd, const Elf32_Ehdr *ehdr)
 {
-	void *start = (void *)-1, *end = NULL;
 	Elf32_Phdr phdr[ehdr->e_phnum];
 	unsigned int i;
 
@@ -335,19 +317,13 @@ static unsigned long map_elf(int elf_fd,
 		verbose("Section %i: size %i addr %p\n",
 			i, phdr[i].p_memsz, (void *)phdr[i].p_paddr);
 
-		/* We track the first and last address we mapped, so we can
-		 * tell entry_point() where to scan. */
-		if (from_guest_phys(phdr[i].p_paddr) < start)
-			start = from_guest_phys(phdr[i].p_paddr);
-		if (from_guest_phys(phdr[i].p_paddr) + phdr[i].p_filesz > end)
-			end=from_guest_phys(phdr[i].p_paddr)+phdr[i].p_filesz;
-
 		/* We map this section of the file at its physical address. */
 		map_at(elf_fd, from_guest_phys(phdr[i].p_paddr),
 		       phdr[i].p_offset, phdr[i].p_filesz);
 	}
 
-	return entry_point(start, end);
+	/* The entry point is given in the ELF header. */
+	return ehdr->e_entry;
 }
 
 /*L:160 Unfortunately the entire ELF image isn't compressed: the segments
@@ -374,7 +350,8 @@ static unsigned long unpack_bzimage(int 
 
 	verbose("Unpacked size %i addr %p\n", len, img);
 
-	return entry_point(img, img + len);
+	/* The entry point for a bzImage is always the first byte */
+	return (unsigned long)img;
 }
 
 /*L:150 A bzImage, unlike an ELF file, is not meant to be loaded.  You're
@@ -1684,8 +1661,15 @@ int main(int argc, char *argv[])
 	*(u32 *)(boot + 0x228) = 4096;
 	concat(boot + 4096, argv+optind+2);
 
-	/* The guest type value of "1" tells the Guest it's under lguest. */
-	*(int *)(boot + 0x23c) = 1;
+	/* Boot protocol version: 2.07 supports the fields for lguest. */
+	*(u16 *)(boot + 0x206) = 0x207;
+
+	/* The hardware_subarch value of "1" tells the Guest it's an lguest. */
+	*(u32 *)(boot + 0x23c) = 1;
+
+	/* Set bit 6 of the loadflags (aka. KEEP_SEGMENTS) so the entry path
+	 * does not ttry to reload segment registers. */
+	*(u8 *)(boot + 0x211) |= (1 << 6);
 
 	/* We tell the kernel to initialize the Guest: this returns the open
 	 * /dev/lguest file descriptor. */
diff -r 2fdc577cfe5c arch/i386/lguest/boot.c
--- a/arch/i386/lguest/boot.c	Tue Oct 02 22:21:05 2007 +1000
+++ b/arch/i386/lguest/boot.c	Tue Oct 02 23:27:22 2007 +1000
@@ -938,18 +938,8 @@ static unsigned lguest_patch(u8 type, u1
 /*G:030 Once we get to lguest_init(), we know we're a Guest.  The paravirt_ops
  * structure in the kernel provides a single point for (almost) every routine
  * we have to override to avoid privileged instructions. */
-__init void lguest_init(void *boot)
-{
-	/* Copy boot parameters first: the Launcher put the physical location
-	 * in %esi, and head.S converted that to a virtual address and handed
-	 * it to us.  We use "__memcpy" because "memcpy" sometimes tries to do
-	 * tricky things to go faster, and we're not ready for that. */
-	__memcpy(&boot_params, boot, PARAM_SIZE);
-	/* The boot parameters also tell us where the command-line is: save
-	 * that, too. */
-	__memcpy(boot_command_line, __va(boot_params.hdr.cmd_line_ptr),
-	       COMMAND_LINE_SIZE);
-
+__init void lguest_init(void)
+{
 	/* We're under lguest, paravirt is enabled, and we're running at
 	 * privilege level 1, not 0 as normal. */
 	paravirt_ops.name = "lguest";
@@ -1018,11 +1008,6 @@ __init void lguest_init(void *boot)
 	 * the normal data segment to get through booting. */
 	asm volatile ("mov %0, %%fs" : : "r" (__KERNEL_DS) : "memory");
 
-	/* Clear the part of the kernel data which is expected to be zero.
-	 * Normally it will be anyway, but if we're loading from a bzImage with
-	 * CONFIG_RELOCATALE=y, the relocations will be sitting here. */
-	memset(__bss_start, 0, __bss_stop - __bss_start);
-
 	/* The Host uses the top of the Guest's virtual address space for the
 	 * Host<->Guest Switcher, and it tells us how much it needs in
 	 * lguest_data.reserve_mem, set up on the LGUEST_INIT hypercall. */
diff -r 2fdc577cfe5c arch/i386/lguest/head.S
--- a/arch/i386/lguest/head.S	Tue Oct 02 22:21:05 2007 +1000
+++ b/arch/i386/lguest/head.S	Tue Oct 02 23:26:19 2007 +1000
@@ -5,11 +5,8 @@
 #include <asm/thread_info.h>
 #include <asm/processor-flags.h>
 
-/*G:020 This is where we begin: we have a magic signature which the launcher
- * looks for.  The plan is that the Linux boot protocol will be extended with a
- * "platform type" field which will guide us here from the normal entry point,
- * but for the moment this suffices.  The normal boot code uses %esi for the
- * boot header, so we do too.
+/*G:020 This is where we begin: head.S notes that the boot header's platform
+ * type field is "1" (lguest), so calls us here.  The boot header is in %esi.
  *
  * WARNING: be very careful here!  We're running at addresses equal to physical
  * addesses (around 0), not above PAGE_OFFSET as most code expectes
@@ -19,19 +16,14 @@
  * The .section line puts this code in .init.text so it will be discarded after
  * boot. */
 .section .init.text, "ax", @progbits
-.ascii "GenuineLguest"
+ENTRY(lguest_entry)
 	/* Make initial hypercall now, so we can set up the pagetables. */
 	movl $LHCALL_LGUEST_INIT, %eax
 	movl $lguest_data - __PAGE_OFFSET, %edx
 	int $LGUEST_TRAP_ENTRY
 
-	/* Set up boot information pointer to hand to lguest_init(): it wants
-	 * a virtual address. */
-	movl %esi, %eax
-	addl $__PAGE_OFFSET, %eax
-
 	/* The Host put the toplevel pagetable in lguest_data.pgdir.  The movsl
-	 * instruction uses %esi, so we needed to save it above. */
+	 * instruction uses %esi implicitly. */
 	movl lguest_data - __PAGE_OFFSET + LGUEST_DATA_pgdir, %esi
 
 	/* Copy first 32 entries of page directory to __PAGE_OFFSET entries.
@@ -46,7 +38,6 @@
 
 	/* Set up the initial stack so we can run C code. */
  	movl $(init_thread_union+THREAD_SIZE),%esp
-
 
 	/* Jumps are relative, and we're running __PAGE_OFFSET too low at the
 	 * moment. */



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

* [PATCH 5/5] lguest: loading bzImage directly
  2007-10-02 23:39       ` [PATCH 4/5] Revert lguest magic and use hook in head.S Rusty Russell
@ 2007-10-02 23:40         ` Rusty Russell
  2007-10-03  9:37           ` Chris Malley
  0 siblings, 1 reply; 25+ messages in thread
From: Rusty Russell @ 2007-10-02 23:40 UTC (permalink / raw)
  To: lkml - Kernel Mailing List
  Cc: Jeremy Fitzhardinge, H. Peter Anvin, Vivek Goyal, lguest,
	Eric W. Biederman, James Bottomley

Now arch/i386/boot/compressed/head.S understands the hardware_platform field,
we can directly execute bzImages.  No more horrific unpacking code.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
---
 Documentation/lguest/lguest.c    |   97 ++++++++++++--------------------------
 arch/i386/boot/compressed/head.S |    6 ++
 drivers/lguest/lguest.c          |    5 +
 3 files changed, 42 insertions(+), 66 deletions(-)

diff -r b0480fd71a72 Documentation/lguest/lguest.c
--- a/Documentation/lguest/lguest.c	Tue Oct 02 22:28:13 2007 +1000
+++ b/Documentation/lguest/lguest.c	Tue Oct 02 22:52:07 2007 +1000
@@ -326,74 +326,39 @@ static unsigned long map_elf(int elf_fd,
 	return ehdr->e_entry;
 }
 
-/*L:160 Unfortunately the entire ELF image isn't compressed: the segments
- * which need loading are extracted and compressed raw.  This denies us the
- * information we need to make a fully-general loader. */
-static unsigned long unpack_bzimage(int fd)
-{
-	gzFile f;
-	int ret, len = 0;
-	/* A bzImage always gets loaded at physical address 1M.  This is
-	 * actually configurable as CONFIG_PHYSICAL_START, but as the comment
-	 * there says, "Don't change this unless you know what you are doing".
-	 * Indeed. */
-	void *img = from_guest_phys(0x100000);
-
-	/* gzdopen takes our file descriptor (carefully placed at the start of
-	 * the GZIP header we found) and returns a gzFile. */
-	f = gzdopen(fd, "rb");
-	/* We read it into memory in 64k chunks until we hit the end. */
-	while ((ret = gzread(f, img + len, 65536)) > 0)
-		len += ret;
-	if (ret < 0)
-		err(1, "reading image from bzImage");
-
-	verbose("Unpacked size %i addr %p\n", len, img);
-
-	/* The entry point for a bzImage is always the first byte */
-	return (unsigned long)img;
-}
-
 /*L:150 A bzImage, unlike an ELF file, is not meant to be loaded.  You're
- * supposed to jump into it and it will unpack itself.  We can't do that
- * because the Guest can't run the unpacking code, and adding features to
- * lguest kills puppies, so we don't want to.
- *
- * The bzImage is formed by putting the decompressing code in front of the
- * compressed kernel code.  So we can simple scan through it looking for the
- * first "gzip" header, and start decompressing from there. */
+ * supposed to jump into it and it will unpack itself.  We used to have to
+ * perform some hairy magic because the unpacking code scared me.
+ *
+ * Fortunately, Jeremy Fitzhardinge convinced me it wasn't that hard and wrote
+ * a small patch to jump over the tricky bits in the guest, so now we just read
+ * the funky header so we know where in the file to load, and away we go! */
 static unsigned long load_bzimage(int fd)
 {
-	unsigned char c;
-	int state = 0;
-
-	/* GZIP header is 0x1F 0x8B <method> <flags>... <compressed-by>. */
-	while (read(fd, &c, 1) == 1) {
-		switch (state) {
-		case 0:
-			if (c == 0x1F)
-				state++;
-			break;
-		case 1:
-			if (c == 0x8B)
-				state++;
-			else
-				state = 0;
-			break;
-		case 2 ... 8:
-			state++;
-			break;
-		case 9:
-			/* Seek back to the start of the gzip header. */
-			lseek(fd, -10, SEEK_CUR);
-			/* One final check: "compressed under UNIX". */
-			if (c != 0x03)
-				state = -1;
-			else
-				return unpack_bzimage(fd);
-		}
-	}
-	errx(1, "Could not find kernel in bzImage");
+	u8 hdr[1024];
+	int r;
+	/* Modern bzImages get loaded at 1M. */
+	void *p = from_guest_phys(0x100000);
+
+	/* Go back to the start of the file and read the header.  It should be
+	 * a Linux boot header (see Documentation/i386/boot.txt) */
+	lseek(fd, 0, SEEK_SET);
+	read(fd, hdr, sizeof(hdr));
+
+	/* At offset 0x202, we expect the magic "HdrS" */
+	if (memcmp(hdr + 0x202, "HdrS", 4) != 0)
+		errx(1, "This doesn't look like a bzImage to me");
+
+	/* The byte at 0x1F1 tells us how many extra sectors of
+	 * header: skip over them all. */
+	lseek(fd, (unsigned long)(hdr[0x1F1]+1) * 512, SEEK_SET);
+
+	/* Now read everything into memory. in nice big chunks. */
+	while ((r = read(fd, p, 65536)) > 0)
+		p += r;
+
+	/* Finally, 0x214 tells us where to start the kernel. */
+	return *(unsigned long *)&hdr[0x214];
 }
 
 /*L:140 Loading the kernel is easy when it's a "vmlinux", but most kernels



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

* Re: [PATCH 0/5] Boot protocol changes
  2007-10-02 23:34 [PATCH 0/5] Boot protocol changes Rusty Russell
  2007-10-02 23:35 ` [PATCH 1/5] update boot spec to 2.07 Rusty Russell
@ 2007-10-02 23:44 ` H. Peter Anvin
  2007-10-02 23:46 ` Jeremy Fitzhardinge
  2 siblings, 0 replies; 25+ messages in thread
From: H. Peter Anvin @ 2007-10-02 23:44 UTC (permalink / raw)
  To: Rusty Russell
  Cc: lkml - Kernel Mailing List, Jeremy Fitzhardinge, Vivek Goyal,
	lguest, Eric W. Biederman

Rusty Russell wrote:
> Hi all,
> 
> 	Jeremy had some boot changes for bzImages, but buried in there was an
> update to the boot protocol to support Xen and lguest (and kvm-lite).
> I've copied those fairly simple patches, and if HPA is happy I'd like to
> push them for 2.6.24 (after correcting for the Great Arch Merge of
> course).
> 

Acked-by: H. Peter Anvin <hpa@zytor.com>

	-hpa

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

* Re: [PATCH 0/5] Boot protocol changes
  2007-10-02 23:34 [PATCH 0/5] Boot protocol changes Rusty Russell
  2007-10-02 23:35 ` [PATCH 1/5] update boot spec to 2.07 Rusty Russell
  2007-10-02 23:44 ` [PATCH 0/5] Boot protocol changes H. Peter Anvin
@ 2007-10-02 23:46 ` Jeremy Fitzhardinge
  2007-10-02 23:53   ` H. Peter Anvin
  2 siblings, 1 reply; 25+ messages in thread
From: Jeremy Fitzhardinge @ 2007-10-02 23:46 UTC (permalink / raw)
  To: Rusty Russell
  Cc: lkml - Kernel Mailing List, H. Peter Anvin, Vivek Goyal, lguest,
	Eric W. Biederman

Rusty Russell wrote:
> Hi all,
>
> 	Jeremy had some boot changes for bzImages, but buried in there was an
> update to the boot protocol to support Xen and lguest (and kvm-lite).
> I've copied those fairly simple patches, and if HPA is happy I'd like to
> push them for 2.6.24 (after correcting for the Great Arch Merge of
> course).

Ah, good.  I was thinking about reviving this work.  The main problem is
that sticking an ELF header at the 1 meg mark (the address of the
bzImage "payload") breaks 32-bit bootloaders which think they can just
jump to 32-bit code there.  I started a conversation with Eric at KS
about it, but we didn't reach any conclusions.

This series looks like a good start for Xen, but we still need to work
out where to stash the metadata which normally lives in ELF notes.  
Using ELF is convenient for Xen because it lets a large chunk of domain
builder code be reused; on the other hand, loading a plain bzImage is
pretty simple, so maybe it isn't such a big deal.

HPA, Eric: if we don't go the "embed ELF" path, where's a good
backwards-compatible place to stash the note data?  If we do go with
"embed ELF", how should we go about doing it?  Arrange to put the ELF
headers before the 1M mark?

    J

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

* Re: [PATCH 0/5] Boot protocol changes
  2007-10-02 23:46 ` Jeremy Fitzhardinge
@ 2007-10-02 23:53   ` H. Peter Anvin
  2007-10-02 23:56     ` Jeremy Fitzhardinge
  0 siblings, 1 reply; 25+ messages in thread
From: H. Peter Anvin @ 2007-10-02 23:53 UTC (permalink / raw)
  To: Jeremy Fitzhardinge
  Cc: Rusty Russell, lkml - Kernel Mailing List, Vivek Goyal, lguest,
	Eric W. Biederman

Jeremy Fitzhardinge wrote:
> Rusty Russell wrote:
>> Hi all,
>>
>> 	Jeremy had some boot changes for bzImages, but buried in there was an
>> update to the boot protocol to support Xen and lguest (and kvm-lite).
>> I've copied those fairly simple patches, and if HPA is happy I'd like to
>> push them for 2.6.24 (after correcting for the Great Arch Merge of
>> course).
> 
> Ah, good.  I was thinking about reviving this work.  The main problem is
> that sticking an ELF header at the 1 meg mark (the address of the
> bzImage "payload") breaks 32-bit bootloaders which think they can just
> jump to 32-bit code there.  I started a conversation with Eric at KS
> about it, but we didn't reach any conclusions.
> 
> This series looks like a good start for Xen, but we still need to work
> out where to stash the metadata which normally lives in ELF notes.  
> Using ELF is convenient for Xen because it lets a large chunk of domain
> builder code be reused; on the other hand, loading a plain bzImage is
> pretty simple, so maybe it isn't such a big deal.
> 
> HPA, Eric: if we don't go the "embed ELF" path, where's a good
> backwards-compatible place to stash the note data?  If we do go with
> "embed ELF", how should we go about doing it?  Arrange to put the ELF
> headers before the 1M mark?
> 

This sounds like another good reason to do the ELF image as the 
postcompression image.  The interface to the embedded compression 
routine is then unchanged, and we get the "full vmlinux" with any notes 
that belongs there.

I'll try to get an implementation of that done -- it really shouldn't be 
very hard.

	-hpa


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

* Re: [PATCH 0/5] Boot protocol changes
  2007-10-02 23:53   ` H. Peter Anvin
@ 2007-10-02 23:56     ` Jeremy Fitzhardinge
  2007-10-03  0:43       ` H. Peter Anvin
  0 siblings, 1 reply; 25+ messages in thread
From: Jeremy Fitzhardinge @ 2007-10-02 23:56 UTC (permalink / raw)
  To: H. Peter Anvin
  Cc: Rusty Russell, lkml - Kernel Mailing List, Vivek Goyal, lguest,
	Eric W. Biederman

H. Peter Anvin wrote:
>> This series looks like a good start for Xen, but we still need to work
>> out where to stash the metadata which normally lives in ELF notes. 
>> Using ELF is convenient for Xen because it lets a large chunk of domain
>> builder code be reused; on the other hand, loading a plain bzImage is
>> pretty simple, so maybe it isn't such a big deal.
>>
>> HPA, Eric: if we don't go the "embed ELF" path, where's a good
>> backwards-compatible place to stash the note data?  If we do go with
>> "embed ELF", how should we go about doing it?  Arrange to put the ELF
>> headers before the 1M mark?
>>
>
> This sounds like another good reason to do the ELF image as the
> postcompression image.  The interface to the embedded compression
> routine is then unchanged, and we get the "full vmlinux" with any
> notes that belongs there.
>
> I'll try to get an implementation of that done -- it really shouldn't
> be very hard.

Please explain what you're proposing again, because my memory of your
plan from last time wouldn't help in this case.  Are you proposing that
the bzImage contains compressed data that its expecting the bootloader
to decompress?  Won't that completely break backwards compatibility?  If
we don't care about backwards compatibility with old bootloaders, then
it doesn't matter what we do one way or the other.

    J

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

* Re: [PATCH 0/5] Boot protocol changes
  2007-10-02 23:56     ` Jeremy Fitzhardinge
@ 2007-10-03  0:43       ` H. Peter Anvin
  2007-10-03  0:46         ` H. Peter Anvin
  2007-10-03  0:58         ` Jeremy Fitzhardinge
  0 siblings, 2 replies; 25+ messages in thread
From: H. Peter Anvin @ 2007-10-03  0:43 UTC (permalink / raw)
  To: Jeremy Fitzhardinge
  Cc: Rusty Russell, lkml - Kernel Mailing List, Vivek Goyal, lguest,
	Eric W. Biederman

Jeremy Fitzhardinge wrote:
> H. Peter Anvin wrote:
>>> This series looks like a good start for Xen, but we still need to work
>>> out where to stash the metadata which normally lives in ELF notes. 
>>> Using ELF is convenient for Xen because it lets a large chunk of domain
>>> builder code be reused; on the other hand, loading a plain bzImage is
>>> pretty simple, so maybe it isn't such a big deal.
>>>
>>> HPA, Eric: if we don't go the "embed ELF" path, where's a good
>>> backwards-compatible place to stash the note data?  If we do go with
>>> "embed ELF", how should we go about doing it?  Arrange to put the ELF
>>> headers before the 1M mark?
>>>
>> This sounds like another good reason to do the ELF image as the
>> postcompression image.  The interface to the embedded compression
>> routine is then unchanged, and we get the "full vmlinux" with any
>> notes that belongs there.
>>
>> I'll try to get an implementation of that done -- it really shouldn't
>> be very hard.
> 
> Please explain what you're proposing again, because my memory of your
> plan from last time wouldn't help in this case.  Are you proposing that
> the bzImage contains compressed data that its expecting the bootloader
> to decompress?  Won't that completely break backwards compatibility?  If
> we don't care about backwards compatibility with old bootloaders, then
> it doesn't matter what we do one way or the other.
> 

No, not at all.

I'm proposing that the existing bzImage format be retained, but that the 
payload of the decompressor (already a gzip file) simply be vmlinux.gz 
-- i.e. a gzip compressed ELF file, notes and all.  A pointer in the 
header will point to the offset of the payload (this is new, obviously.)

The decompression stub is adjusted to expect an ELF image, instead of a 
raw binary.

Existing bootloaders (16- or 32-bit) simply load the bzImage the way 
they do now; new bootloaders have the option of accessing the vmlinux.gz 
directly if they either want to load it themselves or want to examine 
the notes.

	-hpa


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

* Re: [PATCH 0/5] Boot protocol changes
  2007-10-03  0:43       ` H. Peter Anvin
@ 2007-10-03  0:46         ` H. Peter Anvin
  2007-10-03  0:58         ` Jeremy Fitzhardinge
  1 sibling, 0 replies; 25+ messages in thread
From: H. Peter Anvin @ 2007-10-03  0:46 UTC (permalink / raw)
  To: Jeremy Fitzhardinge
  Cc: Rusty Russell, lkml - Kernel Mailing List, Vivek Goyal, lguest,
	Eric W. Biederman

H. Peter Anvin wrote:
>  
> No, not at all.
> 
> I'm proposing that the existing bzImage format be retained, but that the 
> payload of the decompressor (already a gzip file) simply be vmlinux.gz 
> -- i.e. a gzip compressed ELF file, notes and all.  A pointer in the 
> header will point to the offset of the payload (this is new, obviously.)
> 
> The decompression stub is adjusted to expect an ELF image, instead of a 
> raw binary.
> 
> Existing bootloaders (16- or 32-bit) simply load the bzImage the way 
> they do now; new bootloaders have the option of accessing the vmlinux.gz 
> directly if they either want to load it themselves or want to examine 
> the notes.
> 

Slight correction: it does, of course, break loaders which root through 
the bzImage for a gzip header and decode that themselves and place in 
memory.  These loaders are pretty broken, though; they can't deal with 
the fact that the physical address of the kernel is configurable, for 
one thing.

	-hpa

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

* Re: [PATCH 0/5] Boot protocol changes
  2007-10-03  0:43       ` H. Peter Anvin
  2007-10-03  0:46         ` H. Peter Anvin
@ 2007-10-03  0:58         ` Jeremy Fitzhardinge
  2007-10-03  1:03           ` H. Peter Anvin
  1 sibling, 1 reply; 25+ messages in thread
From: Jeremy Fitzhardinge @ 2007-10-03  0:58 UTC (permalink / raw)
  To: H. Peter Anvin
  Cc: Rusty Russell, lkml - Kernel Mailing List, Vivek Goyal, lguest,
	Eric W. Biederman

H. Peter Anvin wrote:
> I'm proposing that the existing bzImage format be retained, but that
> the payload of the decompressor (already a gzip file) simply be
> vmlinux.gz -- i.e. a gzip compressed ELF file, notes and all.  A
> pointer in the header will point to the offset of the payload (this is
> new, obviously.)
>
> The decompression stub is adjusted to expect an ELF image, instead of
> a raw binary.

It could, or just treat it as a raw binary at 1M+offset to skip the headers.

> Existing bootloaders (16- or 32-bit) simply load the bzImage the way
> they do now; new bootloaders have the option of accessing the
> vmlinux.gz directly if they either want to load it themselves or want
> to examine the notes. 

OK, but that has the same problem as making the payload an ELF file:
32-bit bootloaders which simply jump to 1M will be jumping into data
rather than code - and I got the impression from taking to Eric at KS
that there are such bootloaders.  

If that's not an issue, then I still think the payload should be a plain
ELF file (possibly self-decompressing, or just a plain uncompressed
vmlinux, if that's what's desired).  Still think making a protected-mode
bootloader do the decompression is the wrong way to go about this; ELF
is enough.

    J

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

* Re: [PATCH 0/5] Boot protocol changes
  2007-10-03  0:58         ` Jeremy Fitzhardinge
@ 2007-10-03  1:03           ` H. Peter Anvin
  0 siblings, 0 replies; 25+ messages in thread
From: H. Peter Anvin @ 2007-10-03  1:03 UTC (permalink / raw)
  To: Jeremy Fitzhardinge
  Cc: Rusty Russell, lkml - Kernel Mailing List, Vivek Goyal, lguest,
	Eric W. Biederman

Jeremy Fitzhardinge wrote:
> H. Peter Anvin wrote:
>> I'm proposing that the existing bzImage format be retained, but that
>> the payload of the decompressor (already a gzip file) simply be
>> vmlinux.gz -- i.e. a gzip compressed ELF file, notes and all.  A
>> pointer in the header will point to the offset of the payload (this is
>> new, obviously.)
>>
>> The decompression stub is adjusted to expect an ELF image, instead of
>> a raw binary.
> 
> It could, or just treat it as a raw binary at 1M+offset to skip the headers.

It would be cleaner to actually parse the ELF; it's only a handful of 
lines of code (we don't have to support arbitrary placement of sections, 
obviously, which makes the problem simpler.)

>> Existing bootloaders (16- or 32-bit) simply load the bzImage the way
>> they do now; new bootloaders have the option of accessing the
>> vmlinux.gz directly if they either want to load it themselves or want
>> to examine the notes. 
> 
> OK, but that has the same problem as making the payload an ELF file:
> 32-bit bootloaders which simply jump to 1M will be jumping into data
> rather than code - and I got the impression from taking to Eric at KS
> that there are such bootloaders.  

Uhm, no it doesn't.  Those bootloaders jump to the decompressor, not to 
the payload.  The decompressor interface hasn't changed.

> If that's not an issue, then I still think the payload should be a plain
> ELF file (possibly self-decompressing, or just a plain uncompressed
> vmlinux, if that's what's desired).  Still think making a protected-mode
> bootloader do the decompression is the wrong way to go about this; ELF
> is enough.

It doesn't have to if it doesn't want to; it only needs to do so if it 
wants to access the kernel as an ELF.  Again, it has the advantage that 
the ELF is the real vmlinux, no funnies.

	-hpa

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

* Re: [PATCH 5/5] lguest: loading bzImage directly
  2007-10-02 23:40         ` [PATCH 5/5] lguest: loading bzImage directly Rusty Russell
@ 2007-10-03  9:37           ` Chris Malley
  2007-10-03 17:12             ` H. Peter Anvin
  2007-10-04  0:02             ` Rusty Russell
  0 siblings, 2 replies; 25+ messages in thread
From: Chris Malley @ 2007-10-03  9:37 UTC (permalink / raw)
  To: Rusty Russell
  Cc: lkml - Kernel Mailing List, Jeremy Fitzhardinge, lguest,
	James Bottomley, Vivek Goyal, Eric W. Biederman, H. Peter Anvin

Hi guys

Would it not be clearer to #include <asm/bootparam.h> and use 
the relevant named members of struct setup_header / struct boot_params
rather than the hard-coded values 0x202, 0x1F1, 0x214 ?

--
Chris


On Wed, 2007-10-03 at 09:40 +1000, Rusty Russell wrote:
[snip]
> +	u8 hdr[1024];
> +	int r;
> +	/* Modern bzImages get loaded at 1M. */
> +	void *p = from_guest_phys(0x100000);
> +
> +	/* Go back to the start of the file and read the header.  It should be
> +	 * a Linux boot header (see Documentation/i386/boot.txt) */
> +	lseek(fd, 0, SEEK_SET);
> +	read(fd, hdr, sizeof(hdr));
> +
> +	/* At offset 0x202, we expect the magic "HdrS" */
> +	if (memcmp(hdr + 0x202, "HdrS", 4) != 0)
> +		errx(1, "This doesn't look like a bzImage to me");
> +
> +	/* The byte at 0x1F1 tells us how many extra sectors of
> +	 * header: skip over them all. */
> +	lseek(fd, (unsigned long)(hdr[0x1F1]+1) * 512, SEEK_SET);
> +
> +	/* Now read everything into memory. in nice big chunks. */
> +	while ((r = read(fd, p, 65536)) > 0)
> +		p += r;
> +
> +	/* Finally, 0x214 tells us where to start the kernel. */
> +	return *(unsigned long *)&hdr[0x214];
>  }
>  
>  /*L:140 Loading the kernel is easy when it's a "vmlinux", but most kernels
> 



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

* Re: [PATCH 5/5] lguest: loading bzImage directly
  2007-10-03  9:37           ` Chris Malley
@ 2007-10-03 17:12             ` H. Peter Anvin
  2007-10-04  0:02             ` Rusty Russell
  1 sibling, 0 replies; 25+ messages in thread
From: H. Peter Anvin @ 2007-10-03 17:12 UTC (permalink / raw)
  To: Chris Malley
  Cc: Rusty Russell, lkml - Kernel Mailing List, Jeremy Fitzhardinge,
	lguest, James Bottomley, Vivek Goyal, Eric W. Biederman

Chris Malley wrote:
> Hi guys
> 
> Would it not be clearer to #include <asm/bootparam.h> and use 
> the relevant named members of struct setup_header / struct boot_params
> rather than the hard-coded values 0x202, 0x1F1, 0x214 ?
> 

Yes, please.  I have a patch in -mm which already does that across the 
kernel.

	-hpa

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

* Re: [PATCH 5/5] lguest: loading bzImage directly
  2007-10-03  9:37           ` Chris Malley
  2007-10-03 17:12             ` H. Peter Anvin
@ 2007-10-04  0:02             ` Rusty Russell
  2007-10-04  0:26               ` H. Peter Anvin
  2007-11-24 21:54               ` Kjartan Maraas
  1 sibling, 2 replies; 25+ messages in thread
From: Rusty Russell @ 2007-10-04  0:02 UTC (permalink / raw)
  To: Chris Malley
  Cc: lkml - Kernel Mailing List, Jeremy Fitzhardinge, lguest,
	James Bottomley, Vivek Goyal, Eric W. Biederman, H. Peter Anvin,
	Stephen Rothwell

On Wed, 2007-10-03 at 10:37 +0100, Chris Malley wrote:
> Hi guys
> 
> Would it not be clearer to #include <asm/bootparam.h> and use 
> the relevant named members of struct setup_header / struct boot_params
> rather than the hard-coded values 0x202, 0x1F1, 0x214 ?

Yes, but unfortunately bootparam.h wasn't designed to be included from
userspace.

The patch would look like this, but it makes me wonder if it'd be better
to put all these user-exposed types in bootparam.h and have the other
headers include them.  hpa?

diff -r 6bb527d113a8 include/asm-i386/Kbuild
--- a/include/asm-i386/Kbuild	Wed Oct 03 13:49:31 2007 +1000
+++ b/include/asm-i386/Kbuild	Thu Oct 04 09:53:08 2007 +1000
@@ -6,7 +6,10 @@ header-y += msr-index.h
 header-y += msr-index.h
 header-y += ptrace-abi.h
 header-y += ucontext.h
+header-y += bootparam.h
 
+unifdef-y += e820.h
+unifdef-y += ist.h
 unifdef-y += msr.h
 unifdef-y += mtrr.h
 unifdef-y += vm86.h
diff -r 6bb527d113a8 include/asm-i386/bootparam.h
--- a/include/asm-i386/bootparam.h	Wed Oct 03 13:49:31 2007 +1000
+++ b/include/asm-i386/bootparam.h	Thu Oct 04 09:45:12 2007 +1000
@@ -10,82 +10,82 @@
 #include <video/edid.h>
 
 struct setup_header {
-	u8	setup_sects;
-	u16	root_flags;
-	u32	syssize;
-	u16	ram_size;
-	u16	vid_mode;
-	u16	root_dev;
-	u16	boot_flag;
-	u16	jump;
-	u32	header;
-	u16	version;
-	u32	realmode_swtch;
-	u16	start_sys;
-	u16	kernel_version;
-	u8	type_of_loader;
-	u8	loadflags;
+	__u8	setup_sects;
+	__u16	root_flags;
+	__u32	syssize;
+	__u16	ram_size;
+	__u16	vid_mode;
+	__u16	root_dev;
+	__u16	boot_flag;
+	__u16	jump;
+	__u32	header;
+	__u16	version;
+	__u32	realmode_swtch;
+	__u16	start_sys;
+	__u16	kernel_version;
+	__u8	type_of_loader;
+	__u8	loadflags;
 #define LOADED_HIGH	(1<<0)
 #define KEEP_SEGMENTS	(1<<6)
 #define CAN_USE_HEAP	(1<<7)
-	u16	setup_move_size;
-	u32	code32_start;
-	u32	ramdisk_image;
-	u32	ramdisk_size;
-	u32	bootsect_kludge;
-	u16	heap_end_ptr;
-	u16	_pad1;
-	u32	cmd_line_ptr;
-	u32	initrd_addr_max;
-	u32	kernel_alignment;
-	u8	relocatable_kernel;
-	u8	_pad2[3];
-	u32	cmdline_size;
-	u32	hardware_subarch;
-	u64	hardware_subarch_data;
+	__u16	setup_move_size;
+	__u32	code32_start;
+	__u32	ramdisk_image;
+	__u32	ramdisk_size;
+	__u32	bootsect_kludge;
+	__u16	heap_end_ptr;
+	__u16	_pad1;
+	__u32	cmd_line_ptr;
+	__u32	initrd_addr_max;
+	__u32	kernel_alignment;
+	__u8	relocatable_kernel;
+	__u8	_pad2[3];
+	__u32	cmdline_size;
+	__u32	hardware_subarch;
+	__u64	hardware_subarch_data;
 } __attribute__((packed));
 
 struct sys_desc_table {
-	u16 length;
-	u8  table[14];
+	__u16 length;
+	__u8  table[14];
 };
 
 struct efi_info {
-	u32 _pad1;
-	u32 efi_systab;
-	u32 efi_memdesc_size;
-	u32 efi_memdesc_version;
-	u32 efi_memmap;
-	u32 efi_memmap_size;
-	u32 _pad2[2];
+	__u32 _pad1;
+	__u32 efi_systab;
+	__u32 efi_memdesc_size;
+	__u32 efi_memdesc_version;
+	__u32 efi_memmap;
+	__u32 efi_memmap_size;
+	__u32 _pad2[2];
 };
 
 /* The so-called "zeropage" */
 struct boot_params {
 	struct screen_info screen_info;			/* 0x000 */
 	struct apm_bios_info apm_bios_info;		/* 0x040 */
-	u8  _pad2[12];					/* 0x054 */
+	__u8  _pad2[12];				/* 0x054 */
 	struct ist_info ist_info;			/* 0x060 */
-	u8  _pad3[16];					/* 0x070 */
-	u8  hd0_info[16];	/* obsolete! */		/* 0x080 */
-	u8  hd1_info[16];	/* obsolete! */		/* 0x090 */
+	__u8  _pad3[16];				/* 0x070 */
+	__u8  hd0_info[16];	/* obsolete! */		/* 0x080 */
+	__u8  hd1_info[16];	/* obsolete! */		/* 0x090 */
 	struct sys_desc_table sys_desc_table;		/* 0x0a0 */
-	u8  _pad4[144];					/* 0x0b0 */
+	__u8  _pad4[144];				/* 0x0b0 */
 	struct edid_info edid_info;			/* 0x140 */
 	struct efi_info efi_info;			/* 0x1c0 */
-	u32 alt_mem_k;					/* 0x1e0 */
-	u32 scratch;		/* Scratch field! */	/* 0x1e4 */
-	u8  e820_entries;				/* 0x1e8 */
-	u8  eddbuf_entries;				/* 0x1e9 */
-	u8  edd_mbr_sig_buf_entries;			/* 0x1ea */
-	u8  _pad6[6];					/* 0x1eb */
+	__u32 alt_mem_k;				/* 0x1e0 */
+	__u32 scratch;		/* Scratch field! */	/* 0x1e4 */
+	__u8  e820_entries;				/* 0x1e8 */
+	__u8  eddbuf_entries;				/* 0x1e9 */
+	__u8  edd_mbr_sig_buf_entries;			/* 0x1ea */
+	__u8  _pad6[6];					/* 0x1eb */
 	struct setup_header hdr;    /* setup header */	/* 0x1f1 */
-	u8  _pad7[0x290-0x1f1-sizeof(struct setup_header)];
-	u32 edd_mbr_sig_buffer[EDD_MBR_SIG_MAX];	/* 0x290 */
+	__u8  _pad7[0x290-0x1f1-sizeof(struct setup_header)];
+	__u32 edd_mbr_sig_buffer[EDD_MBR_SIG_MAX];	/* 0x290 */
 	struct e820entry e820_map[E820MAX];		/* 0x2d0 */
-	u8  _pad8[48];					/* 0xcd0 */
+	__u8  _pad8[48];				/* 0xcd0 */
 	struct edd_info eddbuf[EDDMAXNR];		/* 0xd00 */
-	u8  _pad9[276];					/* 0xeec */
+	__u8  _pad9[276];				/* 0xeec */
 } __attribute__((packed));
 
 #endif /* _ASM_BOOTPARAM_H */
diff -r 6bb527d113a8 include/asm-i386/e820.h
--- a/include/asm-i386/e820.h	Wed Oct 03 13:49:31 2007 +1000
+++ b/include/asm-i386/e820.h	Thu Oct 04 09:44:56 2007 +1000
@@ -26,16 +26,17 @@
 #ifndef __ASSEMBLY__
 
 struct e820entry {
-	u64 addr;	/* start of memory segment */
-	u64 size;	/* size of memory segment */
-	u32 type;	/* type of memory segment */
+	__u64 addr;	/* start of memory segment */
+	__u64 size;	/* size of memory segment */
+	__u32 type;	/* type of memory segment */
 } __attribute__((packed));
 
 struct e820map {
-	u32 nr_map;
+	__u32 nr_map;
 	struct e820entry map[E820MAX];
 };
 
+#ifdef __KERNEL__
 extern struct e820map e820;
 
 extern int e820_all_mapped(unsigned long start, unsigned long end,
@@ -56,5 +57,5 @@ static inline void e820_mark_nosave_regi
 #endif
 
 #endif/*!__ASSEMBLY__*/
-
+#endif/*__KERNEL__*/
 #endif/*__E820_HEADER*/
diff -r 6bb527d113a8 include/asm-i386/ist.h
--- a/include/asm-i386/ist.h	Wed Oct 03 13:49:31 2007 +1000
+++ b/include/asm-i386/ist.h	Thu Oct 04 09:45:39 2007 +1000
@@ -17,16 +17,16 @@
  */
 
 
-#ifdef __KERNEL__
-
 #include <linux/types.h>
 
 struct ist_info {
-	u32 signature;
-	u32 command;
-	u32 event;
-	u32 perf_level;
+	__u32 signature;
+	__u32 command;
+	__u32 event;
+	__u32 perf_level;
 };
+
+#ifdef __KERNEL__
 
 extern struct ist_info ist_info;
 
diff -r 6bb527d113a8 include/linux/Kbuild
--- a/include/linux/Kbuild	Wed Oct 03 13:49:31 2007 +1000
+++ b/include/linux/Kbuild	Thu Oct 04 09:51:30 2007 +1000
@@ -189,6 +189,7 @@ unifdef-y += dccp.h
 unifdef-y += dccp.h
 unifdef-y += dirent.h
 unifdef-y += dlm.h
+unifdef-y += edd.h
 unifdef-y += elfcore.h
 unifdef-y += errno.h
 unifdef-y += errqueue.h
@@ -308,6 +309,7 @@ unifdef-y += rtnetlink.h
 unifdef-y += rtnetlink.h
 unifdef-y += scc.h
 unifdef-y += sched.h
+unifdef-y += screen_info.h
 unifdef-y += sdla.h
 unifdef-y += selinux_netlink.h
 unifdef-y += sem.h
diff -r 6bb527d113a8 include/linux/apm_bios.h
--- a/include/linux/apm_bios.h	Wed Oct 03 13:49:31 2007 +1000
+++ b/include/linux/apm_bios.h	Thu Oct 04 09:37:28 2007 +1000
@@ -16,28 +16,28 @@
  * General Public License for more details.
  */
 
+#include <linux/types.h>
+
+struct apm_bios_info {
+	__u16	version;
+	__u16	cseg;
+	__u32	offset;
+	__u16	cseg_16;
+	__u16	dseg;
+	__u16	flags;
+	__u16	cseg_len;
+	__u16	cseg_16_len;
+	__u16	dseg_len;
+};
+
+#ifdef __KERNEL__
+
 typedef unsigned short	apm_event_t;
 typedef unsigned short	apm_eventinfo_t;
-
-#ifdef __KERNEL__
-
-#include <linux/types.h>
 
 #define APM_CS		(GDT_ENTRY_APMBIOS_BASE * 8)
 #define APM_CS_16	(APM_CS + 8)
 #define APM_DS		(APM_CS_16 + 8)
-
-struct apm_bios_info {
-	u16	version;
-	u16	cseg;
-	u32	offset;
-	u16	cseg_16;
-	u16	dseg;
-	u16	flags;
-	u16	cseg_len;
-	u16	cseg_16_len;
-	u16	dseg_len;
-};
 
 /* Results of APM Installation Check */
 #define APM_16_BIT_SUPPORT	0x0001
diff -r 6bb527d113a8 include/linux/edd.h
--- a/include/linux/edd.h	Wed Oct 03 13:49:31 2007 +1000
+++ b/include/linux/edd.h	Thu Oct 04 09:43:22 2007 +1000
@@ -67,113 +67,113 @@
 #define EDD_INFO_USE_INT13_FN50                (1 << 7)
 
 struct edd_device_params {
-	u16 length;
-	u16 info_flags;
-	u32 num_default_cylinders;
-	u32 num_default_heads;
-	u32 sectors_per_track;
-	u64 number_of_sectors;
-	u16 bytes_per_sector;
-	u32 dpte_ptr;		/* 0xFFFFFFFF for our purposes */
-	u16 key;		/* = 0xBEDD */
-	u8 device_path_info_length;	/* = 44 */
-	u8 reserved2;
-	u16 reserved3;
-	u8 host_bus_type[4];
-	u8 interface_type[8];
+	__u16 length;
+	__u16 info_flags;
+	__u32 num_default_cylinders;
+	__u32 num_default_heads;
+	__u32 sectors_per_track;
+	__u64 number_of_sectors;
+	__u16 bytes_per_sector;
+	__u32 dpte_ptr;		/* 0xFFFFFFFF for our purposes */
+	__u16 key;		/* = 0xBEDD */
+	__u8 device_path_info_length;	/* = 44 */
+	__u8 reserved2;
+	__u16 reserved3;
+	__u8 host_bus_type[4];
+	__u8 interface_type[8];
 	union {
 		struct {
-			u16 base_address;
-			u16 reserved1;
-			u32 reserved2;
+			__u16 base_address;
+			__u16 reserved1;
+			__u32 reserved2;
 		} __attribute__ ((packed)) isa;
 		struct {
-			u8 bus;
-			u8 slot;
-			u8 function;
-			u8 channel;
-			u32 reserved;
+			__u8 bus;
+			__u8 slot;
+			__u8 function;
+			__u8 channel;
+			__u32 reserved;
 		} __attribute__ ((packed)) pci;
 		/* pcix is same as pci */
 		struct {
-			u64 reserved;
+			__u64 reserved;
 		} __attribute__ ((packed)) ibnd;
 		struct {
-			u64 reserved;
+			__u64 reserved;
 		} __attribute__ ((packed)) xprs;
 		struct {
-			u64 reserved;
+			__u64 reserved;
 		} __attribute__ ((packed)) htpt;
 		struct {
-			u64 reserved;
+			__u64 reserved;
 		} __attribute__ ((packed)) unknown;
 	} interface_path;
 	union {
 		struct {
-			u8 device;
-			u8 reserved1;
-			u16 reserved2;
-			u32 reserved3;
-			u64 reserved4;
+			__u8 device;
+			__u8 reserved1;
+			__u16 reserved2;
+			__u32 reserved3;
+			__u64 reserved4;
 		} __attribute__ ((packed)) ata;
 		struct {
-			u8 device;
-			u8 lun;
-			u8 reserved1;
-			u8 reserved2;
-			u32 reserved3;
-			u64 reserved4;
+			__u8 device;
+			__u8 lun;
+			__u8 reserved1;
+			__u8 reserved2;
+			__u32 reserved3;
+			__u64 reserved4;
 		} __attribute__ ((packed)) atapi;
 		struct {
-			u16 id;
-			u64 lun;
-			u16 reserved1;
-			u32 reserved2;
+			__u16 id;
+			__u64 lun;
+			__u16 reserved1;
+			__u32 reserved2;
 		} __attribute__ ((packed)) scsi;
 		struct {
-			u64 serial_number;
-			u64 reserved;
+			__u64 serial_number;
+			__u64 reserved;
 		} __attribute__ ((packed)) usb;
 		struct {
-			u64 eui;
-			u64 reserved;
+			__u64 eui;
+			__u64 reserved;
 		} __attribute__ ((packed)) i1394;
 		struct {
-			u64 wwid;
-			u64 lun;
+			__u64 wwid;
+			__u64 lun;
 		} __attribute__ ((packed)) fibre;
 		struct {
-			u64 identity_tag;
-			u64 reserved;
+			__u64 identity_tag;
+			__u64 reserved;
 		} __attribute__ ((packed)) i2o;
 		struct {
-			u32 array_number;
-			u32 reserved1;
-			u64 reserved2;
+			__u32 array_number;
+			__u32 reserved1;
+			__u64 reserved2;
 		} __attribute__ ((packed)) raid;
 		struct {
-			u8 device;
-			u8 reserved1;
-			u16 reserved2;
-			u32 reserved3;
-			u64 reserved4;
+			__u8 device;
+			__u8 reserved1;
+			__u16 reserved2;
+			__u32 reserved3;
+			__u64 reserved4;
 		} __attribute__ ((packed)) sata;
 		struct {
-			u64 reserved1;
-			u64 reserved2;
+			__u64 reserved1;
+			__u64 reserved2;
 		} __attribute__ ((packed)) unknown;
 	} device_path;
-	u8 reserved4;
-	u8 checksum;
+	__u8 reserved4;
+	__u8 checksum;
 } __attribute__ ((packed));
 
 struct edd_info {
-	u8 device;
-	u8 version;
-	u16 interface_support;
-	u16 legacy_max_cylinder;
-	u8 legacy_max_head;
-	u8 legacy_sectors_per_track;
+	__u8 device;
+	__u8 version;
+	__u16 interface_support;
+	__u16 legacy_max_cylinder;
+	__u8 legacy_max_head;
+	__u8 legacy_sectors_per_track;
 	struct edd_device_params params;
 } __attribute__ ((packed));
 
@@ -184,8 +184,9 @@ struct edd {
 	unsigned char edd_info_nr;
 };
 
+#ifdef __KERNEL__
 extern struct edd edd;
-
+#endif /* __KERNEL__ */
 #endif				/*!__ASSEMBLY__ */
 
 #endif				/* _LINUX_EDD_H */
diff -r 6bb527d113a8 include/linux/screen_info.h
--- a/include/linux/screen_info.h	Wed Oct 03 13:49:31 2007 +1000
+++ b/include/linux/screen_info.h	Thu Oct 04 09:40:29 2007 +1000
@@ -8,53 +8,42 @@
  */
 
 struct screen_info {
-	u8  orig_x;		/* 0x00 */
-	u8  orig_y;		/* 0x01 */
-	u16 ext_mem_k;		/* 0x02 */
-	u16 orig_video_page;	/* 0x04 */
-	u8  orig_video_mode;	/* 0x06 */
-	u8  orig_video_cols;	/* 0x07 */
-	u16 unused2;		/* 0x08 */
-	u16 orig_video_ega_bx;	/* 0x0a */
-	u16 unused3;		/* 0x0c */
-	u8  orig_video_lines;	/* 0x0e */
-	u8  orig_video_isVGA;	/* 0x0f */
-	u16 orig_video_points;	/* 0x10 */
+	__u8  orig_x;		/* 0x00 */
+	__u8  orig_y;		/* 0x01 */
+	__u16 ext_mem_k;	/* 0x02 */
+	__u16 orig_video_page;	/* 0x04 */
+	__u8  orig_video_mode;	/* 0x06 */
+	__u8  orig_video_cols;	/* 0x07 */
+	__u16 unused2;		/* 0x08 */
+	__u16 orig_video_ega_bx;/* 0x0a */
+	__u16 unused3;		/* 0x0c */
+	__u8  orig_video_lines;	/* 0x0e */
+	__u8  orig_video_isVGA;	/* 0x0f */
+	__u16 orig_video_points;/* 0x10 */
 
 	/* VESA graphic mode -- linear frame buffer */
-	u16 lfb_width;		/* 0x12 */
-	u16 lfb_height;		/* 0x14 */
-	u16 lfb_depth;		/* 0x16 */
-	u32 lfb_base;		/* 0x18 */
-	u32 lfb_size;		/* 0x1c */
-	u16 cl_magic, cl_offset; /* 0x20 */
-	u16 lfb_linelength;	/* 0x24 */
-	u8  red_size;		/* 0x26 */
-	u8  red_pos;		/* 0x27 */
-	u8  green_size;		/* 0x28 */
-	u8  green_pos;		/* 0x29 */
-	u8  blue_size;		/* 0x2a */
-	u8  blue_pos;		/* 0x2b */
-	u8  rsvd_size;		/* 0x2c */
-	u8  rsvd_pos;		/* 0x2d */
-	u16 vesapm_seg;		/* 0x2e */
-	u16 vesapm_off;		/* 0x30 */
-	u16 pages;		/* 0x32 */
-	u16 vesa_attributes;	/* 0x34 */
-	u32 capabilities;       /* 0x36 */
-	u8  _reserved[6];	/* 0x3a */
+	__u16 lfb_width;	/* 0x12 */
+	__u16 lfb_height;	/* 0x14 */
+	__u16 lfb_depth;	/* 0x16 */
+	__u32 lfb_base;		/* 0x18 */
+	__u32 lfb_size;		/* 0x1c */
+	__u16 cl_magic, cl_offset; /* 0x20 */
+	__u16 lfb_linelength;	/* 0x24 */
+	__u8  red_size;		/* 0x26 */
+	__u8  red_pos;		/* 0x27 */
+	__u8  green_size;	/* 0x28 */
+	__u8  green_pos;	/* 0x29 */
+	__u8  blue_size;	/* 0x2a */
+	__u8  blue_pos;		/* 0x2b */
+	__u8  rsvd_size;	/* 0x2c */
+	__u8  rsvd_pos;		/* 0x2d */
+	__u16 vesapm_seg;	/* 0x2e */
+	__u16 vesapm_off;	/* 0x30 */
+	__u16 pages;		/* 0x32 */
+	__u16 vesa_attributes;	/* 0x34 */
+	__u32 capabilities;     /* 0x36 */
+	__u8  _reserved[6];	/* 0x3a */
 } __attribute__((packed));
-
-extern struct screen_info screen_info;
-
-#define ORIG_X			(screen_info.orig_x)
-#define ORIG_Y			(screen_info.orig_y)
-#define ORIG_VIDEO_MODE		(screen_info.orig_video_mode)
-#define ORIG_VIDEO_COLS 	(screen_info.orig_video_cols)
-#define ORIG_VIDEO_EGA_BX	(screen_info.orig_video_ega_bx)
-#define ORIG_VIDEO_LINES	(screen_info.orig_video_lines)
-#define ORIG_VIDEO_ISVGA	(screen_info.orig_video_isVGA)
-#define ORIG_VIDEO_POINTS       (screen_info.orig_video_points)
 
 #define VIDEO_TYPE_MDA		0x10	/* Monochrome Text Display	*/
 #define VIDEO_TYPE_CGA		0x11	/* CGA Display 			*/
@@ -74,4 +63,17 @@ extern struct screen_info screen_info;
 
 #define VIDEO_TYPE_PMAC		0x60	/* PowerMacintosh frame buffer. */
 
+#ifdef __KERNEL__
+extern struct screen_info screen_info;
+
+#define ORIG_X			(screen_info.orig_x)
+#define ORIG_Y			(screen_info.orig_y)
+#define ORIG_VIDEO_MODE		(screen_info.orig_video_mode)
+#define ORIG_VIDEO_COLS 	(screen_info.orig_video_cols)
+#define ORIG_VIDEO_EGA_BX	(screen_info.orig_video_ega_bx)
+#define ORIG_VIDEO_LINES	(screen_info.orig_video_lines)
+#define ORIG_VIDEO_ISVGA	(screen_info.orig_video_isVGA)
+#define ORIG_VIDEO_POINTS       (screen_info.orig_video_points)
+#endif /* __KERNEL__ */
+
 #endif /* _SCREEN_INFO_H */
diff -r 6bb527d113a8 include/video/Kbuild
--- a/include/video/Kbuild	Wed Oct 03 13:49:31 2007 +1000
+++ b/include/video/Kbuild	Thu Oct 04 09:50:15 2007 +1000
@@ -1,1 +1,2 @@ unifdef-y += sisfb.h
 unifdef-y += sisfb.h
+unifdef-y += edid.h
diff -r 6bb527d113a8 include/video/edid.h
--- a/include/video/edid.h	Wed Oct 03 13:49:31 2007 +1000
+++ b/include/video/edid.h	Thu Oct 04 09:48:14 2007 +1000
@@ -1,17 +1,16 @@
 #ifndef __linux_video_edid_h__
 #define __linux_video_edid_h__
 
-#ifdef __KERNEL__
+#if !defined(__KERNEL__) || defined(CONFIG_X86)
 
-
-#ifdef CONFIG_X86
 struct edid_info {
 	unsigned char dummy[128];
 };
 
+#ifdef __KERNEL__
 extern struct edid_info edid_info;
-#endif /* CONFIG_X86 */
-
 #endif /* __KERNEL__ */
 
+#endif
+
 #endif /* __linux_video_edid_h__ */



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

* Re: [PATCH 5/5] lguest: loading bzImage directly
  2007-10-04  0:02             ` Rusty Russell
@ 2007-10-04  0:26               ` H. Peter Anvin
  2007-11-24 21:54               ` Kjartan Maraas
  1 sibling, 0 replies; 25+ messages in thread
From: H. Peter Anvin @ 2007-10-04  0:26 UTC (permalink / raw)
  To: Rusty Russell
  Cc: Chris Malley, lkml - Kernel Mailing List, Jeremy Fitzhardinge,
	lguest, James Bottomley, Vivek Goyal, Eric W. Biederman,
	Stephen Rothwell

Rusty Russell wrote:
> On Wed, 2007-10-03 at 10:37 +0100, Chris Malley wrote:
>> Hi guys
>>
>> Would it not be clearer to #include <asm/bootparam.h> and use 
>> the relevant named members of struct setup_header / struct boot_params
>> rather than the hard-coded values 0x202, 0x1F1, 0x214 ?
> 
> Yes, but unfortunately bootparam.h wasn't designed to be included from
> userspace.
> 
> The patch would look like this, but it makes me wonder if it'd be better
> to put all these user-exposed types in bootparam.h and have the other
> headers include them.  hpa?
> 

I don't have a strong preference either way, but I think what you have 
here is fine.

	-hpa


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

* Re: [PATCH 0/5] Boot protocol changes
@ 2007-10-04  9:47 Chris Malley
  2007-10-04 10:47 ` Rusty Russell
  0 siblings, 1 reply; 25+ messages in thread
From: Chris Malley @ 2007-10-04  9:47 UTC (permalink / raw)
  To: lguest; +Cc: virtualization

[-- Attachment #1: Type: text/plain, Size: 1510 bytes --]

Hi guys

I gave these patches a try (on top of 2.6.23-rc9 plus the previously
submitted 2.6.24 patch set).

The last two seem to cause Badness on my system, whereby if I start a
guest (using the same bzImage as the host, as before) it seems to boot
OK, and the host system still superficially looks stable (my X session
is OK and I can interact with existing processes) but if I attempt to
launch any new process on the host (even typing "ls" into a terminal
window) I get a Segmentation fault.  Needless to say the only way to
resolve it is to reboot the host (stopping the guest doesn't resolve
the problem).

I'll attach a dump of the console/verbose output and my .config in
case it's of any use.

Interestingly if I run the example launcher before applying patch 05
(in other words with the old bzImage loader code) it just stops early
with an "unhandled trap 14":

$./lguest  --block=disk.img 256 /boot/vmlinuz-2.6.23-rc9 
  --initrd=/boot/initrd.img-2.6.23-rc9 --tunnet=192.168.150.1
  --verbose root=/dev/vda1 single

Guest base is at 0xa7cba000
device 0: console
Unpacked size 3506404 addr 0xa7dba000
mapped initrd /boot/initrd.img-2.6.23-rc9 size=14139392 @ 0xf284000
Linear mapping of 65536 pages in 64 pte pages at 0xf243000
Guest: 0xa7cba000 - 0xb7cc0000 (0x10006000)
lguest: unhandled trap 14 at 0xa7dba000 (0xa7dba000)


I did spend some time trying to understand the assembly in the patches
but it made my head hurt :-)   If there's any further diagnosis I can
do then let me know...

--
Chris

[-- Attachment #2: guest.out --]
[-- Type: text/plain, Size: 86266 bytes --]

[    0.000000] Reserving virtual address space above 0xffc00000
[    0.000000] Linux version 2.6.23-rc9 (chris@feisty) (gcc version 4.1.2 (Ubuntu 4.1.2-0ubuntu4)) #1 SMP Wed Oct 3 16:00:21 BST 2007
[    0.000000] BIOS-provided physical RAM map:
[    0.000000]  LGUEST: 0000000000000000 - 0000000004000000 (usable)
[    0.000000] 0MB HIGHMEM available.
[    0.000000] 64MB LOWMEM available.
[    0.000000] Zone PFN ranges:
[    0.000000]   DMA             0 ->     4096
[    0.000000]   Normal       4096 ->    16384
[    0.000000]   HighMem     16384 ->    16384
[    0.000000] Movable zone start PFN for each node
[    0.000000] early_node_map[1] active PFN ranges
[    0.000000]     0:        0 ->    16384
[    0.000000] DMI not present or invalid.
[    0.000000] Allocating PCI resources starting at 10000000 (gap: 04000000:fc000000)
[    0.000000] Built 1 zonelists in Zone order.  Total pages: 16256
[    0.000000] Kernel command line: root=/dev/vda1 single 
[    0.000000] Local APIC disabled by BIOS -- you can enable it with "lapic"
[    0.000000] Enabling fast FPU save and restore... done.
[    0.000000] Enabling unmasked SIMD FPU exception support... done.
[    0.000000] Initializing CPU#0
[    0.000000] PID hash table entries: 256 (order: 8, 1024 bytes)
[    0.000000] Console: colour dummy device 80x25
[    0.000000] console [hvc0] enabled
[    0.000000] Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
[    0.000000] Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
[    0.000000] Memory: 47468k/65536k available (1908k kernel code, 18048k reserved, 887k data, 260k init, 0k highmem)
[    0.000000] virtual kernel memory layout:
[    0.000000]     fixmap  : 0xffb4c000 - 0xffbff000   ( 716 kB)
[    0.000000]     pkmap   : 0xff400000 - 0xff800000   (4096 kB)
[    0.000000]     vmalloc : 0xc4800000 - 0xff3fe000   ( 939 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xc4000000   (  64 MB)
[    0.000000]       .init : 0xc03c1000 - 0xc0402000   ( 260 kB)Guest base is at 0xb3cde000
device 0: console
mapped initrd /boot/initrd.img-2.6.23-rc9 size=14139392 @ 0x3284000
Linear mapping of 16384 pages in 16 pte pages at 0x3273000
Guest: 0xb3cde000 - 0xb7ce4000 (0x4006000)
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bdf23
Notify on address 0x3bde4b
Notify on address 0x3bde4b
Notify on address 0x3bde4b
Notify on address 0x3bde4b
Notify on address 0x3bde4b
Notify on address 0x3bde4b
Notify on address 0x3bde4b
Notify on address 0x3bde4b
Notify on address 0x3bde4b
Notify on address 0x3bde4b
Notify on address 0x3bde47
Notify on address 0x3bde47
Notify on address 0x3bde47
Notify on address 0x3bde47
Notify on address 0x3bde47
Notify on address 0x3bde47
Notify on address 0x3bde47
Notify on address 0x3bde47
Notify on address 0x3bde47
Notify on address 0x3bde47
Notify on address 0x3bde47
Notify on address 0x3bde47
Notify on address 0x3bde47
Notify on address 0x3bde47
Notify on address 0x3bde47
Notify on address 0x3bde47
Notify on address 0x3bde47
Notify on address 0x3bde47
Notify on address 0x3bde47
Notify on address 0x3bde47
Notify on address 0x3bde47
Notify on address 0x3bde47
Notify on address 0x3bde47
Notify on address 0x3bde47
Notify on address 0x3bde47
Notify on address 0x3bde47
Notify on address 0x3bde47
Notify on address 0x3bde47
Notify on address 0x3bde47
Notify on address 0x3bde47
Notify on address 0x3bde47
Notify on address 0x3bde47
Notify on address 0x3bde47
Notify on address 0x3bde47
Notify on address 0x3bde47
Notify on address 0
[    0.000000]       .data : 0xc02dd0f2 - 0xc03baee4   ( 887 kB)
[    0.000000]       .text : 0xc0100000 - 0xc02dd0f2   (1908 kB)
[    0.000000] Checking if this processor honours the WP bit even in supervisor mode... Ok.
[    0.000000] SLUB: Genslabs=22, HWalign=32, Order=0-1, MinObjects=4, CPUs=1, Nodes=1
[    0.029648] Security Framework v1.0.0 initialized
[    0.029648] Mount-cache hash table entries: 512
[    0.029648] CPU: L1 I cache: 32K, L1 D cache: 32K
[    0.029648] CPU: L2 cache: 2048K
[    0.029648] Compat vDSO mapped to ffbfe000.
[    0.030663] SMP alternatives: switching to UP code
[    0.030663] Freeing SMP alternatives: 11k freed
[    0.034768] CPU0: Intel(R) Pentium(R) M processor 2.00GHz stepping 06
[    0.034768] SMP motherboard not detected.
[    0.034768] Local APIC not detected. Using dummy APIC emulation.
[    0.034768] Brought up 1 CPUs
[    0.036813] Booting paravirtualized kernel on lguest
[    0.058246] Time: 165:165:165  Date: 164/165/165
[    0.058246] NET: Registered protocol family 16
[    0.058246] PCI: Fatal: No config space access function found
[    0.058246] Setting up standard PCI resources
[    0.059297] ACPI: Interpreter disabled.
[    0.059297] Linux Plug and Play Support v0.97 (c) Adam Belay
[    0.060316] pnp: PnP ACPI: disabled
[    0.060316] PCI: Using ACPI for IRQ routing
[    0.060316] PCI: If a device doesn't work, try "pci=routeirq".  If it helps, post a report
[    0.060316] PCI: System does not support PCI
[    0.060316] PCI: System does not support PCI
[    0.062382] NET: Registered protocol family 8
[    0.062382] NET: Registered protocol family 20
[    0.062382] NET: Registered protocol family 2
[    0.063412] Time: lguest clocksource has been installed.
[    0.071442] IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.071442] TCP established hash table entries: 2048 (order: 2, 24576 bytes)
[    0.071442] TCP bind hash table entries: 2048 (order: 2, 1638x3bde47
Notify on address 0x3bde47
Notify on address 0x3bde47
Notify on address 0x3bde47
Notify on address 0x3bde47
Notify on address 0x3bde47
Notify on address 0x3bde47
Notify on address 0x3bde47
Notify on address 0x3bde47
Notify on address 0x3bde47
Notify on address 0x3bde47
Notify on address 0x3bde47
Notify on address 0x3bde47
Notify on address 0x3bde47
Notify on address 0x3bde47
Notify on address 0x3bde47
Notify on address 0x3bde47
Notify on address 0x3bde47
Notify on address 0x3bde87
Notify on address 0x3bde87
Notify on address 0x3bde87
Notify on address 0x3bde87
Notify on address 0x3bde87
Notify on address 0x3bde87
Notify on address 0x3bdea7
Notify on address 0x3bdea7
Notify on address 0x3bdea7
Notify on address 0x3bdea7
Notify on address 0x3bde73
Notify on address 0x3bde73
Notify on address 0x3bde73
Notify on address 0x3bde73
Notify on address 0x3bdd87
Notify on address 0x3bdd87
Notify on address 0x3bdd87
Notify on address 0x3bdd87
Notify on address 0x3bdd87
Notify on address 0x3bdd87
Notify on address 0x3bdd87
Notify on address 0x3bdd87
Notify on address 0x3bde83
Notify on address 0x3bde83
Notify on address 0x3bde83
Notify on address 0x3bde9f
Notify on address 0x3bde9f
Notify on address 0x3bde9f
Notify on address 0x3bde9f
Notify on address 0x3bde7b
Notify on address 0x3bde7b
Notify on address 0x3bde7b
Notify on address 0x3bde7b
Notify on address 0x10afe4f
Notify on address 0x10afe4f
Notify on address 0x10afe3b
Notify on address 0x10afe3b
Notify on address 0x10afe3b
Notify on address 0x10afe3b
Notify on address 0x10afe4f
Notify on address 0x10afe4f
Notify on address 0x10afe4f
Notify on address 0x10afe4f
Notify on address 0x10afe4f
Notify on address 0x10afe4f
Notify on address 0x10afe4f
Notify on address 0x10afe4f
Notify on address 0x10afe8f
Notify on address 0x10afe8f
Notify on address 0x10afe8f
Notify on address 0x10afe7f
Notify on address 0x10afe7f
Notify on address 0x10afe7f
Notify on address 0x10afe7f
Notify on address 0x10afe4f
Notify on address 0x10afe4f
Notify on address 0x10afe4f
Notify on address 0x10afe4f
Notify on address 0x10afe5b
Notify on address 0x10afe5b
Notify on address 0x10afe5b
Notify on address 0x10afe5b
Notify on address 0x10afe83
Notify on address 0x10afe83
Notify on address 0x10afe83
Notify on address 0x10afe83
Notify on address 0x10afe83
Notify on address 0x10afe67
Notify on address 0x10afe67
Notify on address 0x10afe67
Notify on address 0x10afe67
Notify on address 0x10afe5b
Notify on address 0x10afe5b
Notify on address 0x10afe5b
Notify on address 0x10afe87
Notify on address 0x10afe87
Notify on address 0x10afe87
Notify on address 0x10afe87
Notify on address 0x10afe87
Notify on address 0x10afe83
Notify on address 0x10afe83
Notify on address 0x10afe83
Notify on address 0x10afe83
Notify on address 0x10afe83
Notify on address 0x10afe83
Notify on address 0x10afe83
Notify on address 0x10afe83
Notify on address 0x10afe83
Notify on address 0x10afe83
Notify on address 0x10afe83
Notify on address 0x10afe83
Notify on address 0x10afe6b
Notify on address 0x10afe6b
Notify on address 0x10afe6b
Notify on address 0x10afe6b
Notify on address 0x10afe87
Notify on address 0x10afe87
Notify on address 0x10afe87
Notify on address 0x10afe87
Notify on address 0x10afe67
Notify on address 0x10afe67
Notify on address 0x10afe67
Notify on address 0x10afe67
Notify on address 0x10afe67
Notify on address 0x10afe67
Notify on address 0x10afe67
Notify on address 0x10afe67
Notify on address 0x10afe67
Notify on address 0x10afe67
Notify on address 0x10afe67
Notify on address 0x10afe67
Notify on address 0x3bdd7f
Notify on address 0x3bdd7f
Notify on address 0x3bdd7f
Notify on address 0x3bdd7f
Notify on address 0x10afe17
Notify on address 0x10afe17
Notify on address 0x10afe17
Notify on address 0x10afe17
Notify on address 0x10afe17
Notify on address 0x10afe17
Notify on address 0x10afe17
Notify on address 0x10afe17
Notify on address 0x10afe17
Notify on address 0x10afe17
Notify on address 0x10afe17
Notify on address 0x10afe17
Notify on address 0x10afe17
Notify on address 0x10afe17
Notify on address 0x10afe17
Notify on address 0x10afe14 bytes)
[    0.071442] TCP: Hash tables configured (established 2048 bind 2048)
[    0.071442] TCP reno registered
[    0.074443] checking if image is initramfs... it is
[    1.379405] Freeing initrd memory: 13808k freed
[    1.380388] audit: initializing netlink socket (disabled)
[    1.380388] audit(1191490352.366:1): initialized
[    1.383342] VFS: Disk quotas dquot_6.5.1
[    1.383342] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[    1.383342] io scheduler noop registered
[    1.383342] io scheduler anticipatory registered
[    1.383342] io scheduler deadline registered
[    1.383342] io scheduler cfq registered (default)
[    1.405342] rtc: I/O resource 70 is not free.
[    1.405342] Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing enabled
[    1.406343] RAMDISK driver initialized: 16 RAM disks of 65536K size 1024 blocksize
[    1.407345] PNP: No PS/2 controller found. Probing ports directly.
[    1.407345] i8042.c: No controller found.
[    1.408682] mice: PS/2 mouse device common for all mice
[    1.408682] EDAC MC: Ver: 2.1.0 Oct  3 2007
[    1.408682] TCP cubic registered
[    1.408682] NET: Registered protocol family 1
[    1.408682] Using IPI No-Shortcut mode
[    1.408682]   Magic number: 1:252:3141
[    1.409344] Freeing unused kernel memory: 260k freed
Loading, please wait...
Begin: Loading essential drivers... ...
Done.
Begin: Running /scripts/init-premount ...
7
Notify on address 0x10afe5b
Notify on address 0x10afe5b
Notify on address 0x10afe5b
Notify on address 0x10afe5b
Notify on address 0x10afe5b
Notify on address 0x10afe6b
Notify on address 0x10afe6b
Notify on address 0x10afe6b
Notify on address 0x10afe7b
Notify on address 0x10afe7b
Notify on address 0x10afe7b
Notify on address 0x10afe7b
Notify on address 0x10afe47
Notify on address 0x10afe47
Notify on address 0x10afe47
Notify on address 0x10afe47
Notify on address 0x10afe7b
Notify on address 0x10afe7b
Notify on address 0x10afe7b
Notify on address 0x10afe7b
Notify on address 0x10afe5f
Notify on address 0x10afe5f
Notify on address 0x10afe5f
Notify on address 0x10afe5f
Notify on address 0x10afe77
Notify on address 0x10afe77
Notify on address 0x10afe77
Notify on address 0x10afe77
Notify on address 0x10afe77
Notify on address 0x10afe77
Notify on address 0x10afe77
Notify on address 0x10afe77
Notify on address 0x10afe77
Notify on address 0x10afe77
Notify on address 0x10afe77
Notify on address 0x10afe77
Notify on address 0x10afe77
Notify on address 0x10afe77
Notify on address 0x10afe77
Notify on address 0x10afe77
Notify on address 0x10afe77
Notify on address 0x10afe77
Notify on address 0x10afe77
Notify on address 0x10afe67
Notify on address 0x10afe67
Notify on address 0x10afe67
Notify on address 0x10afe67
Notify on address 0x4004000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 
[    1.752340] thermal: Unknown symbol acpi_processor_set_thermal_limit
Done.
Begin: Mounting root file system... ...
Begin: Running /scripts/local-top ...
[    2.666346]  vda: vda1
Done.
Begin: Waiting for root file system... ...
0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4001000
Output to block
READ from sector 0: 4096
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4001000
Output to block
READ from sector 8388480: 4096
Notify on address 0x4001000
Output to block
READ from sector 8388600: 4096
Notify on address 0x4001000
Output to block
READ from sector 8388544: 4096
Notify on address 0x4001000
Output to block
READ from sector 8388352: 4096
Notify on address 0x4001000
Output to block
READ from sector 8388592: 4096
Notify on address 0x4001000
Output to block
READ from sector 8388208: 4096
Notify on address 0x4001000
Output to block
READ from sector 0: 4096
Notify on address 0x4001000
Output to block
READ from sector 8: 4096
Notify on address 0x4001000
Output to block
READ from sector 16: 12288
Notify on address 0x4001000
Output to block
READ from sector 40: 4096
Notify on address 0x4001000
Output to block
READ from sector 48: 28672
Notify on address 0x4001000
Output to block
READ from sector 104: 4096
Notify on address 0x4001000
Output to block
READ from sector 112: 61440
Notify on address 0x4001000
Output to block
READ from sector 232: 4096
Notify on address 0x4001000
Output to block
READ from sector 240: 126976
Notify on address 0x4001000
Output to block
READ from sector 512: 4096
Notify on address 0x4001000
Output to block
READ from sector 8385727: 4096
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4001000
Output to block
READ from sector 8385927: 512
Notify on address 0x4001000
Output to block
READ from sector 8385928: 1024
Notify on address 0x4001000
Output to block
READ from sector 8385863: 512
Notify on address 0x4001000
Output to block
READ from sector 8385864: 3584
Notify on address 0x4001000
Output to block
READ from sector 8385671: 512
Notify on address 0x4001000
Output to block
READ from sector 8385672: 3584
Notify on address 0x4001000
Output to block
READ from sector 8385911: 512
Notify on address 0x4001000
Output to block
READ from sector 8385912: 3584
Notify on address 0x4001000
Output to block
READ from sector 8385527: 512
Notify on address 0x4001000
Output to block
READ from sector 8385528: 3584
Notify on address 0x4001000
Output to block
READ from sector 8385919: 512
Notify on address 0x4001000
Output to block
READ from sector 8385920: 3584
Notify on address 0x4001000
Output to block
READ from sector 63: 512
Notify on address 0x4001000
Output to block
READ from sector 64: 3584
Notify on address 0x4001000
Output to block
READ from sector 71: 512
Notify on address 0x4001000
Output to block
READ from sector 72: 15872
Notify on address 0x4001000
Output to block
READ from sector 103: 512
Notify on address 0x4001000
Output to block
READ from sector 104: 32256
Notify on address 0x4001000
Output to block
READ from sector 167: 512
Notify on address 0x4001000
Output to block
READ from sector 168: 64000
READ from sector 293: 1024
Notify on address 0x4001000
Output to block
READ from sector 295: 512
Notify on address 0x4001000
Output to block
READ from sector 296: 36352
Notify on address 0x4001000
Output tDone.
Begin: Running /scripts/local-premount ...
Done.
[    2.886829] kjournald starting.  Commit interval 5 seconds
[    2.886829] EXT3-fs: mounted filesystem with ordered data mode.
Begin: Running /scripts/local-bottom ...
Done.
Done.
Begin: Running /scripts/init-bottom ...
o block
READ from sector 367: 36864
Notify on address 0x4001000
Output to block
READ from sector 439: 36864
Notify on address 0x4001000
Output to block
READ from sector 511: 20480
Notify on address 0x4001000
Output to block
READ from sector 8385727: 4096
Notify on address 0x4001000
Output to block
READ from sector 8385927: 512
Notify on address 0x4001000
Output to block
READ from sector 8385928: 1024
Notify on address 0x4001000
Output to block
READ from sector 8385863: 512
Notify on address 0x4001000
Output to block
READ from sector 8385864: 3584
Notify on address 0x4001000
Output to block
READ from sector 8385671: 512
Notify on address 0x4001000
Output to block
READ from sector 8385672: 3584
Notify on address 0x4001000
Output to block
READ from sector 8385911: 512
Notify on address 0x4001000
Output to block
READ from sector 8385912: 3584
Notify on address 0x4001000
Output to block
READ from sector 8385527: 512
Notify on address 0x4001000
Output to block
READ from sector 8385528: 3584
Notify on address 0x4001000
Output to block
READ from sector 8385919: 512
Notify on address 0x4001000
Output to block
READ from sector 8385920: 3584
Notify on address 0x4001000
Output to block
READ from sector 63: 512
Notify on address 0x4001000
Output to block
READ from sector 64: 3584
Notify on address 0x4001000
Output to block
READ from sector 71: 512
Notify on address 0x4001000
Output to block
READ from sector 72: 3584
Notify on address 0x4001000
Output to block
READ from sector 79: 12288
Notify on address 0x4001000
Output to block
READ from sector 103: 512
Notify on address 0x4001000
Output to block
READ from sector 104: 32256
Notify on address 0x4001000
Output to block
READ from sector 167: 512
Notify on address 0x4001000
Output to block
READ from sector 168: 52736
Notify on address 0x4001000
Output to block
READ from sector 271: 12288
Notify on address 0x4001000
Output to block
READ from sector 295: 512
Notify on address 0x4001000
Output to block
READ from sector 296: 36352
Notify on address 0x4001000
Output to block
READ from sector 367: 36864
Notify on address 0x4001000
Output to block
READ from sector 439: 36864
Notify on address 0x4001000
Output to block
READ from sector 511: 20480
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4001000
Output to block
READ from sector 63: 16384
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4001000
Output to block
READ from sector 65: 1024
Notify on address 0x4001000
Output to block
READ from sector 63: 4096
Notify on address 0x4001000
Output to block
READ from sector 71: 4096
Notify on address 0x4001000
Output to block
READ from sector 2135: 4096
Notify on address 0x4001000
Output to block
READ from sector 10375: 4096
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4001000
Output to block
READ from sector 10327: 4096
NotifDone.
y on address 0x4001000
Output to block
READ from sector 5767247: 4096
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4001000
Output to block
READ from sector 8126543: 4096
Notify on address 0x4001000
Output to block
READ from sector 1312855: 4096
Notify on address 0x4001000
Output to block
READ from sector 1837143: 4096
Notify on address 0x4001000
Output to block
READ from sector 1900607: 4096
Notify on address 0x4001000
Output to block
READ from sector 1945783: 4096
Notify on address 0x4001000
Output to block
READ from sector 1941767: 16384
Notify on address 0x4001000
Output to block
READ from sector 3407951: 4096
Notify on address 0x4001000
Output to block
READ from sector 3473471: 4096
Notify on address 0x4001000
Output to block
READ from sector 3408327: 4096
Notify on address 0x4001000
Output to block
READ from sector 3933519: 4096
Notify on address 0x4001000
Output to block
Notify on address 0x4001000
Output to block
READ from sector 4142127: 4096
Notify on address 0x4001000
Output to block
Notify on address 0x4001000
Output to block
READ from sector 4183079: 4096
READ from sector 4419271: 8192
READ from sector 4419327: 4096
READ from sector 4419335: 12288
Notify on address 0x4001000
Output to block
READ from sector 4419359: 73728
Notify on address 0x4001000
Output to block
READ from sector 1941799: 24576
Notify on address 0x4001000
Output to block
READ from sector 4419287: 20480
Notify on address 0x4001000
Output to block
READ from sector 524367: 4096
Notify on address 0x4001000
Output to block
READ from sector 589887: 4096
Notify on address 0x4001000
Output to block
READ from sector 524495: 4096
Notify on address 0x4001000
Output to block
Notify on address 0x4001000
Output to block
READ from sector 540743: 8192
READ from sector 540783: 12288
Notify on address 0x4001000
Output to block
READ from sector 4419815: 16384
Notify on address 0x4001000
Output to block
READ from sector 4419911: 4096
Notify on address 0x4001000
Output to block
READ from sector 4420159: 73728
Notify on address 0x4001000
Output to block
READ from sector 4420303: 16384
Notify on address 0x4001000
Output to block
READ from sector 4420351: 4096
Notify on address 0x4001000
Output to block
READ from sector 4420359: 24576
Notify on address 0x4001000
Output to block
READ from sector 4420407: 45056
Notify on address 0x4001000
Output to block
READ from sector 4457695: 4096
Notify on address 0x4001000
Output to block
READ from sector 4534095: 16384
Notify on address 0x4001000
Output to block
READ from sector 4534191: 4096
Notify on address 0x4001000
Output to block
Notify on address 0x4001000
Output to block
READ from sector 4567535: 126976
READ from sector 4567783: 4096
Notify on address 0x4001000
Output to block
READ from sector 4534127: 4096
Notify on address 0x4001000
Output to block
READ from sector 4534135: 28672
Notify on address 0x4001000
Output to block
READ from sector 4534199: 86016
Notify on address 0x4001000
Output to block
READ from sector 4419503: 16384
Notify on address 0x4001000
Output to block
Notify on address 0x4001000
Output to block
READ from sector 4566647: 126976
READ from sector 4566895: 4096
Notify on address 0x4001000
Output to block
Notify on address 0x4001000
Output to block
READ from sector 4534839: 126976
Notify on address 0x4001000
Output to block
READ from sector 4554023: 4096
READ from sector 524423: 4096
Notify on address 0x4001000
Output to block
READ from sector 4534679: 81920
Notify on address 0x4001000
Output to block
READ from sector 4567111: 8192
Notify on address 0x4001000
Output to block
READ from sector 4567135: 122880
Notify on address 0x4001000
Output to block
READ from sector 595207: 4096
Notify on address 0x4001000
Output to block
READ from sector 524559: 4096
Notify on address 0x4001000
Output to block
READ from sector 4567375: 81920
Notify on address 0x4001000
Output to block
READ from sector 655455: 4096
Notify on address 0x4001000
Output to block
READ from sector 4534367: 69632
Notify on addre
INIT: version 2.86 booting
ss 0x4001000
Output to block
READ from sector 4534519: 81920
Notify on address 0x4001000
Output to block
Notify on address 0x4001000
Output to block
READ from sector 4566151: 126976
READ from sector 4566399: 4096
Notify on address 0x4001000
Output to block
READ from sector 2097231: 4096
Notify on address 0x4001000
Output to block
READ from sector 1837159: 4096
Notify on address 0x4001000
Output to block
READ from sector 1911383: 16384
Notify on address 0x4001000
Output to block
READ from sector 1911415: 4096
Notify on address 0x4001000
Output to block
READ from sector 1911423: 32768
Notify on address 0x4001000
Output to block
READ from sector 1911487: 40960
Notify on address 0x4001000
Output to block
READ from sector 4566423: 20480
Notify on address 0x4001000
Output to block
READ from sector 4566471: 90112
Notify on address 0x4001000
Output to block
READ from sector 4566903: 53248
Notify on address 0x4001000
Output to block
READ from sector 4567015: 28672
Notify on address 0x4001000
Output to block
READ from sector 524679: 4096
Notify on address 0x4001000
Output to block
READ from sector 704639: 4096
Notify on address 0x4001000
Output to block
READ from sector 594807: 4096
Notify on address 0x4001000
Output to block
READ from sector 721167: 4096
Notify on address 0x4001000
Output to block
READ from sector 721175: 8192
Notify on address 0x4001000
Output to block
READ from sector 594871: 4096
Notify on address 0x4001000
Output to block
READ from sector 3473567: 4096
Notify on address 0x4001000
Output to block
READ from sector 6029391: 4096
Notify on address 0x4001000
Output to block
READ from sector 6183967: 4096
Notify on address 0x4001000
Output to block
READ from sector 6029615: 4096
Notify on address 0x4001000
Output to block
READ from sector 6199127: 16384
Notify on address 0x4001000
Output to block
READ from sector 6199159: 36864
Notify on address 0x4001000
Output to block
READ from sector 6199231: 32768
Notify on address 0x4001000
Output to block
READ from sector 6198991: 16384
Notify on address 0x4001000
Output to block
READ from sector 6199023: 4096
Notify on address 0x4001000
Output to block
READ from sector 6199031: 28672
Notify on address 0x4001000
Output to block
READ from sector 6199087: 4096
Notify on address 0x4001000
Output to block
READ from sector 6199095: 12288
Notify on address 0x4001000
Output to block
READ from sector 5242959: 4096
Notify on address 0x4001000
Output to block
READ from sector 5308479: 4096
Notify on address 0x4001000
Output to block
READ from sector 5242967: 4096
Notify on address 0x4001000
Output to block
READ from sector 5310183: 4096
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4001000
Output to block
READ from sector 524687: 4096
Notify on address 0x4001000
Output to block
READ from sector 630911: 4096
Notify on address 0x4001000
Output to block
READ from sector 5259391: 4096
Notify on address 0x4001000
Output to block
Notify on address 0x4001000
Output to block
READ from sector 5309479: 4096
READ from sector 524375: 4096
Notify on address 0x4001000
Output to block
READ from sector 5243079: 4096
Notify on address 0x4001000
Output to block
READ from sector 590991: 4096
Notify on address 0x4001000
Output to block
READ from sector 524463: 4096
Notify on address 0x4001000
Output to block
READ from sector 595887: 16384
Notify on address 0x4001000
Output to block
READ from sector 788567: 4096
Notify on address 0x4001000
Output to block
READ from sector 852031: 4096
Notify on address 0x4001000
Output to block
READ from sector 788575: 4096
Notify on address 0x4001000
Output to block
READ from sector 860975: 16384
Notify on address 0x4001000
Output to block
READ from sector 861071: 4096
Notify on address 0x4001000
Output to block
READ from sector 866583: 73728
Notify on address 0x4001000
Output to block
READ from sector 861007: 4096
Notify on address 0x4001000
Output to block
READ from sector 861015: 28672
Notify on address 0x4001000
Output to block
READ from sector 861079: 4096
READ from sector 861111: 12288
READ from sector 865439: 65536
READ from sector 3408343: 4096
Notify on address 0x4001000
Output to block
READ from sector 4568239: 16384
Notify on address 0x4001000
Output to block
READ from sector 866255: 126976
READ from sector 866503: 4096
Notify on address 0x4001000
Output to block
READ from sector 865567: 65536
Notify on address 0x4001000
Output to block
READ from sector 865815: 126976
READ from sector 866063: 4096
Notify on address 0x4001000
Output to block
READ from sector 866511: 36864
Notify on address 0x4001000
Output to block
READ from sector 866071: 90112
Notify on address 0x4001000
Output to block
READ from sector 865695: 61440
Notify on address 0x4001000
Output to block
READ from sector 5242983: 4096
Notify on address 0x4001000
Output to block
READ from sector 5325407: 4096
Notify on address 0x4001000
Output to block
READ from sector 590975: 4096
Notify on address 0x4001000
Output to block
READ from sector 3559607: 16384
Notify on address 0x4001000
Output to block
READ from sector 3559639: 32768
Notify on address 0x4001000
Output to block
READ from sector 737415: 4096
Notify on address 0x4001000
Output to block
READ from sector 854775: 12288
READ from sector 595919: 12288
Notify on address 0x4001000
Output to block
READ from sector 788583: 4096
Notify on address 0x4001000
Output to block
READ from sector 855663: 16384
Notify on address 0x4001000
Output to block
READ from sector 855695: 4096
Notify on address 0x4001000
Output to block
READ from sector 589895: 4096
Notify on address 0x4001000
Output to block
READ from sector 589967: 4096
Notify on address 0x4001000
Output to block
READ from sector 3145807: 4096
Notify on address 0x4001000
Output to block
READ from sector 3211327: 4096
Notify on address 0x4001000
Output to block
READ from sector 3211447: 4096
Notify on address 0x4001000
Output to block
READ from sector 3416231: 4096
Notify on address 0x4001000
Output to block
READ from sector 591007: 4096
Notify on address 0x4001000
Output to block
READ from sector 595775: 16384
Notify on address 0x4001000
Output to block
READ from sector 1945775: 4096
Notify on address 0x4001000
Output to block
READ from sector 1924663: 8192
Notify on address 0x4001000
Output to block
READ from sector 590111: 4096
Notify on address 0x4001000
Output to block
READ from sector 595767: 4096
Notify on address 0x4001000
Output to block
READ from sector 630815: 4096
Notify on address 0x4001000
Output to block
READ from sector 3211479: 4096
Notify on address 0x4001000
Output to block
READ from sector 3416399: 4096
Notify on address 0x4001000
Output to block
READ from sector 3211511: 4096
Notify on address 0x4001000
Output to block
READ from sector 3271007: 4096
Notify on address 0x4001000
Output to block
READ from sector 3147047: 4096
Notify on address 0x4001000
Output to block
READ from sector 3563183: 8192
Notify on address 0x4001000
Output to block
READ from sector 3589543: 24576
Notify on address 0x4001000
Output to block
READ from sector 3830967: 20480
READ from sector 3831007: 32768
READ from sector 3589591: 28672
READ from sector 3589647: 12288
READ from sector 3563199: 65536
Notify on address 0x4001000
Output to block
READ from sector 3563391: 126976
READ from sector 3563639: 4096
Notify on address 0x4001000
Output to block
READ from sector 3565255: 126976
READ from sector 3565503: 4096
Notify on address 0x4001000
Output to block
READ from sector 3563647: 73728
Notify on address 0x4001000
Output to block
READ from sector 3565063: 98304
Notify on address 0x4001000
Output to block
READ from sector 4566127: 12288
Notify on address 0x4001000
Output to block
READ from sector 3670095: 4096
Notify on address 0x4001000
Output to block
READ from sector 3739791: 4096
Notify on address 0x4001000
Output to block
READ from sector 3749191: 4096
Notify on address 0x4001000
Output to block
READ from sector 3670159: 4096
Notify on address 0x4001000
Output to block
READ from sector 3866687: 28672
Notify on address 0x4001		Welcome to 000
Output to block
READ from sector 595967: 4096
Notify on address 0x4001000
Output to block
READ from sector 3211343: 4096
Notify on address 0x4001000
Output to block
READ from sector 3145815: 4096
Notify on address 0x4001000
Output to block
READ from sector 3211831: 4096
Notify on address 0x4001000
Output to block
READ from sector 3216999: 4096
Notify on address 0x4001000
Output to block
READ from sector 3146991: 4096
Notify on address 0x4001000
Output to block
READ from sector 3295287: 4096
Notify on address 0x4001000
Output to block
READ from sector 3217007: 4096
Notify on address 0x4001000
Output to block
READ from sector 3145887: 4096
Notify on address 0x4001000
Output to block
READ from sector 3214047: 4096
Notify on address 0x4001000
Output to block
READ from sector 3214055: 4096
Notify on address 0x4001000
Output to block
READ from sector 3213951: 4096
Notify on address 0x4001000
Output to block
READ from sector 3213959: 4096
Notify on address 0x4001000
Output to block
READ from sector 3211335: 4096
Notify on address 0x4001000
Output to block
READ from sector 3416431: 4096
Notify on address 0x4001000
Output to block
READ from sector 859167: 16384
Notify on address 0x4001000
Output to block
READ from sector 859263: 4096
Notify on address 0x4001000
Output to block
READ from sector 861519: 73728
Notify on address 0x4001000
Output to block
READ from sector 4568271: 16384
Notify on address 0x4001000
Output to block
READ from sector 4568367: 4096
Notify on address 0x4001000
Output to block
READ from sector 4568447: 122880
Notify on address 0x4001000
Output to block
READ from sector 859199: 32768
Notify on address 0x4001000
Output to block
READ from sector 859271: 81920
READ from sector 859431: 94208
Notify on address 0x4001000
Output to block
READ from sector 861471: 24576
Notify on address 0x4001000
Output to block
READ from sector 4534503: 8192
Notify on address 0x4001000
Output to block
READ from sector 1837167: 4096
Notify on address 0x4001000
Output to block
READ from sector 1941863: 8192
Notify on address 0x4001000
Output to block
READ from sector 3416439: 4096
Notify on address 0x4001000
Output to block
READ from sector 862951: 16384
Notify on address 0x4001000
Output to block
READ from sector 862983: 4096
Notify on address 0x4001000
Output to block
READ from sector 1837183: 4096
Notify on address 0x4001000
Output to block
READ from sector 1923775: 4096
Notify on address 0x4001000
Output to block
READ from sector 860391: 4096
Notify on address 0x4001000
Output to block
READ from sector 788591: 4096
Notify on address 0x4001000
Output to block
READ from sector 861663: 8192
Notify on address 0x4001000
Output to block
READ from sector 856023: 8192
Notify on address 0x4001000
Output to block
READ from sector 856071: 8192
READ from sector 856087: 16384
READ from sector 856671: 4096
Notify on address 0x4001000
Output to block
READ from sector 4456871: 4096
Notify on address 0x4001000
Output to block
READ from sector 4555487: 4096
Notify on address 0x4001000
Output to block
READ from sector 4555495: 4096
Notify on address 0x4001000
Output to block
READ from sector 4556831: 4096
Notify on address 0x4001000
Output to block
READ from sector 4556839: 4096
Notify on address 0x4001000
Output to block
READ from sector 4456919: 4096
Notify on address 0x4001000
Output to block
READ from sector 861975: 16384
Notify on address 0x4001000
Output to block
READ from sector 862007: 36864
Notify on address 0x4001000
Output to block
READ from sector 862079: 16384
Notify on address 0x4001000
Output to block
READ from sector 4557007: 4096
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4001000
Output to block
READ from sector 524399: 4096
Notify on address 0x4001000
Output to block
READ from sector 593207: 4096
Notify on address 0x4001000
Output to block
READ from sector 4566407: 8192
Notify on address 0x4001000
Output to block
READ from sector 870119: 16384
Notify on address 0x4001000
Output to block
READ from sector 870151: 368 CentOS release 5 (Final)
		Press 'I' to enter interactive startup.
[    4.483371] hwclock[2049] general protection eip:804b593 esp:bfdb5330 error:0
/etc/rc.d/rc.sysinit: line 299:  2049 Segmentation fault      /sbin/hwclock $CLOCKFLAGS
Setting clock  (utc): Thu Oct  4 09:32:35 GMT 2007 [  OK  ]
Starting udev: 64
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4001000
Output to block
READ from sector 870223: 4096
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4001000
Output to block
READ from sector 630839: 4096
Notify on address 0x4001000
Output to block
READ from sector 1909671: 16384
Notify on address 0x4001000
Output to block
READ from sector 1909703: 20480
Notify on address 0x4001000
Output to block
READ from sector 3408335: 4096
Notify on address 0x4001000
Output to block
READ from sector 4419543: 16384
Notify on address 0x4001000
Output to block
READ from sector 4419575: 36864
Notify on address 0x4001000
Output to block
READ from sector 4419647: 28672
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4001000
Output to block
READ from sector 869991: 16384
Notify on address 0x4001000
Output to block
READ from sector 870023: 36864
Notify on address 0x4001000
Output to block
READ from sector 870095: 4096
READ from sector 4420751: 16384
Notify on address 0x4001000
Output to block
READ from sector 4420783: 28672
Notify on address 0x4001000
Output to block
READ from sector 4420495: 16384
Notify on address 0x4001000
Output to block
READ from sector 4420527: 36864
Notify on address 0x4001000
Output to block
READ from sector 4420599: 77824
Notify on address 0x4001000
Output to block
READ from sector 655471: 4096
Notify on address 0x4005000
Output to console
Notify on address 0x4001000
Output to block
READ from sector 856511: 16384
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4001000
Output to block
READ from sector 869399: 8192
Notify on address 0x4001000
Output to block
READ from sector 860407: 4096
Notify on address 0x4001000
Output to block
READ from sector 860503: 12288
READ from sector 860527: 8192
Notify on address 0x4001000
Output to block
READ from sector 1837191: 4096
Notify on address 0x4001000
Output to block
READ from sector 1942007: 12288
Notify on address 0x4001000
Output to block
READ from sector 4441551: 16384
Notify on address 0x4001000
Output to block
READ from sector 4441583: 36864
Notify on address 0x4001000
Output to block
READ from sector 4441655: 8192
Notify on address 0x4001000
Output to block
READ from sector 870231: 16384
Notify on address 0x4001000
Output to block
READ from sector 870263: 24576
Notify on address 0x4001000
Output to block
READ from sector 1837151: 4096
Notify on address 0x4001000
Output to block
READ from sector 1941943: 16384
Notify on address 0x4001000
Output to block
READ from sector 1837175: 4096
Notify on address 0x4001000
Output to block
READ from sector 1935415: 8192
Notify on address 0x4001000
Output to block
READ from sector 595655: 4096
Notify on address 0x4001000
Output to block
READ from sector 524543: 4096
Notify on address 0x4001000
Output to block
READ from sector 598815: 4096
Notify on address 0x4005000
Output to console
Notify on address 0x4001000
Output to block
READ from sector 854663: 16384
Notify on address 0x4001000
Output to block
READ from sector 854695: 16384
Notify on address 0x4001000
Output to block
READ from sector 861719: 16384
Notify on address 0x4001000
Output to block
READ from sector 861751: 16384
Notify on address 0x4001000
Output to block
READ from sector 598743: 4096
Notify on address 0x4001000
Output to block
READ from sector 598751: 4096
Notify on address 0x4001000
Output to block
READ from sector 1948919: 16384
Notify on address 0x4001000
Output to block
READ from sector 1948951: 12288
Notify on address 0x4001000
Output to block
READ from sector 524503: 4096
Notify on address 0x4001000
Output to block
READ from sector 597567: 4096
Notify on address 0x4001000
Output to block
READ from sector 524535: 4096
Notify on address 0x4001000
Output to block
READ from sector 597487: 4096
Notify on address 0x4001000
Output to block
READ from sector 597575: 8192
Notify on address 0x4001000
Output to block
READ from sector 597591: 16384
Notify on address 0x4001000
Output to block
READ from sector 597623: 36864
Notify on address 0x4001000
Output to block
READ from sector 597695: 57344
Notify on address 0x4001000
Output to block
READ from sector 597807: 4096
Notify on address 0x4001000
Output to block
READ from sector 597815: 4096
Notify on address 0x4001000
Output to block
READ from sector 597823: 16384
Notify on address 0x4001000
Output to block
READ from sector 597855: 32768
Notify on address 0x4001000
Output to block
READ from sector 597919: 4096
Notify on address 0x4001000
Output to block
READ from sector 597927: 65536
Notify on address 0x4001000
Output to block
READ from sector 598055: 86016
Notify on address 0x4001000
Output to block
READ from sector 598223: 4096
Notify on address 0x4001000
Output to block
READ from sector 598231: 4096
Notify on address 0x4001000
Output to block
READ from sector 598239: 4096
Notify on address 0x4001000
Output to block
READ from sector 598247: 4096
Notify on address 0x4001000
Output to block
READ from sector 598255: 16384
Notify on address 0x4001000
Output to block
READ from sector 598287: 36864
Notify on address 0x4001000
Output to block
READ from sector 598359: 53248
Notify on address 0x4001000
Output to block
READ from sector 598463: 4096
Notify on address 0x4001000
Output to block
READ from sector 598471: 4096
Notify on address 0x4001000
Output to block
READ from sector 598479: 4096
Notify on address 0x4001000
Output to block
READ from sector 598487: 16384
Notify on address 0x4001000
Output to block
READ from sector 598519: 32768
Notify on address 0x4001000
Output to block
READ from sector 598583: 4096
Notify on address 0x4001000
Output to block
READ from sector 598591: 20480
Notify on address 0x4001000
Output to block
READ from sector 598631: 4096
Notify on address 0x4001000
Output to block
READ from sector 598639: 4096
Notify on address 0x4001000
Output to block
READ from sector 598647: 4096
Notify on address 0x4001000
Output to block
READ from sector 598655: 4096
Notify on address 0x4001000
Output to block
READ from sector 598663: 4096
Notify on address 0x4001000
Output to block
READ from sector 598671: 4096
Notify on address 0x4001000
Output to block
READ from sector 598679: 4096
Notify on address 0x4001000
Output to block
READ from sector 598687: 4096
Notify on address 0x4001000
Output to block
READ from sector 598695: 4096
Notify on address 0x4001000
Output to block
READ from sector 598703: 4096
Notify on address 0x4001000
Output to block
READ from sector 540775: 4096
Notify on address 0x4001000
Output to block
READ from sector 4456863: 4096
Notify on address 0x4001000
Output to block
READ from sector 4553119: 4096
Notify on address 0x4001000
Output to block
READ from sector 4457351: 4096
Notify on address 0x4001000
Output to block
READ from sector 4591919: 4096
Notify on address 0x4001000
Output to block
READ from sector 869143: 16384
Notify on address 0x4001000
Output to block
READ from sector 869175: 28672
Notify on address 0x4001000
Output to block
READ from sector 1935455: 16384
Notify on address 0x4001000
Output to block
READ from sector 1935487: 36864
Notify on address 0x4001000
Output to block
READ from sector 1935559: 24576
Notify on address 0x4001000
Output to block
READ from sector 524455: 4096
Notify on address 0x4001000
Output to block
READ from sector 595663: 4096
Notify on address 0x4001000
Output to block
READ from sector 598759: 4096
Notify on address 0x4001000
Output to block
READ from sector 598767: 16384
Notify on address 0x4001000
Output to block
READ from sector 598799: 4096
Notify on address 0x4001000
Output to block
READ from sector 524479: 4096
Notify on address 0x4001000
Output to block
READ from sector 596487: 4096
Notify on address 0x4001000
Output to block
READ from sector 524583: 4096
Notify on address 0x4001000
Output to block
READ from sector 627143: 4096
Notify on address 0x4001000
Output to block
READ from sector 598855: 4096
Notify on address 0x4001000
Output to block
READ from sector 524551: 4096
Notify on address 0x4001000
Output to block
READ from sector 598959: 4096
Notify on address 0x4001000
Output to block
READ from sector 598807: 4096
Notify on address 0x4001000
Output to block
READ from sector 524639: 4096
Notify on address 0x4001000
Output to block
READ from sector 629839: 4096
Notify on address 0x4001000
Output to block
READ from sector 1937239: 16384
Notify on address 0x4001000
Output to block
READ from sector 1937271: 8192
Notify on address 0x4001000
Output to block
READ from sector 4457359: 4096
Notify on address 0x4001000
Output to block
READ from sector 4592071: 12288
Notify on address 0x4001000
Output to block
READ from sector 4592047: 12288
Notify on address 0x4001000
Output to block
READ from sector 598711: 4096
Notify on address 0x4001000
Output to block
READ from sector 598719: 4096
Notify on address 0x4001000
Output to block
READ from sector 1945727: 16384
Notify on address 0x4001000
Output to block
READ from sector 1945759: 8192
READ from sector 1946775: 8192
READ from sector 1948839: 4096
Notify on address 0x4001000
Output to block
READ from sector 3408351: 4096
Notify on address 0x4001000
Output to block
READ from sector 4419703: 16384
Notify on address 0x4001000
Output to block
READ from sector 4419735: 28672
Notify on address 0x4001000
Output to block
READ from sector 524415: 4096
Notify on address 0x4001000
Output to block
READ from sector 593639: 4096
Notify on address 0x4001000
Output to block
READ from sector 595503: 4096
Notify on address 0x4001000
Output to block
READ from sector 595511: 4096
Notify on address 0x4001000
Output to block
READ from sector 595519: 4096
Notify on address 0x4001000
Output to block
READ from sector 5242975: 4096
Notify on address 0x4001000
Output to block
READ from sector 5323335: 4096
Notify on address 0x4001000
Output to block
READ from sector 4194383: 4096
Notify on address 0x4001000
Output to block
READ from sector 4259903: 4096
Notify on address 0x4001000
Output to block
READ from sector 1937199: 16384
Notify on address 0x4001000
Output to block
READ from sector 1937231: 4096
Notify on address 0x4001000
Output to block
Notify on address 0x4001000
Output to block
READ from sector 4591959: 4096
READ from sector 4456535: 4096
Notify on address 0x4001000
Output to block
Notify on address 0x4001000
Output to block
READ from sector 4523271: 12288
READ from sector 4592143: 16384
Notify on address 0x4001000
Output to block
READ from sector 4592239: 4096
Notify on address 0x4001000
Output to block
Notify on address 0x4001000
Output to block
READ from sector 4296319: 12288
READ from sector 4296351: 4096
Notify on address 0x4001000
Output to block
READ from sector 4592951: 73728
READ from sector 4420871: 4096
Notify on address 0x4001000
Output to block
Notify on address 0x4001000
Output to block
READ from sector 4592175: 32768
READ from sector 4592247: 81920
Notify on address 0x4001000
Output to block
READ from sector 4421903: 73728
Notify on address 0x4001000
Output to block
Notify on address 0x4001000
Output to block
READ from sector 4592751: 102400
READ from sector 4296359: 12288
Notify on address 0x4001000
Output to block
READ from sector 4395511: 4096
READ from sector 4420839: 16384
READ from sector 4420879: 81920
Notify on address 0x4001000
Output to block
READ from sector 6029607: 4096
READ from sector 4592407: 114688
Notify on address 0x4001000
Output to block
READ from sector 4421351: 126976
READ from sector 4421599: 4096[  OK  ]

READ from sector 8388480: 4096
Notify on address 0x4001000
Output to block
Notify on address 0x4001000
Output to block
Notify on address 0x4001000
Output to block
READ from sector 589903: 4096
READ from sector 8388600: 4096
Notify on address 0x4001000
Output to block
Notify on address 0x4001000
Output to block
READ from sector 6183975: 4096
READ from sector 4421055: 126976
READ from sector 4421303: 4096
READ from sector 8388544: 4096
Notify on address 0x4001000
Output to block
READ from sector 4421311: 20480
Notify on address 0x4001000
Output to block
READ from sector 4421607: 106496
Notify on address 0x4001000
Output to block
Notify on address 0x4001000
Output to block
Notify on address 0x4001000
Output to block
READ from sector 630847: 4096
READ from sector 8388352: 4096
Notify on address 0x4001000
Output to block
Notify on address 0x4001000
Output to block
READ from sector 6555735: 4096
Notify on address 0x4001000
Output to block
READ from sector 595983: 4096
READ from sector 8388592: 4096
Notify on address 0x4001000
Output to block
READ from sector 6611159: 4096
READ from sector 8388208: 4096
Notify on address 0x4001000
Output to block
READ from sector 0: 4096
Notify on address 0x4001000
Output to block
READ from sector 8: 16384
Notify on address 0x4001000
Output to block
Notify on address 0x4001000
Output to block
READ from sector 7340143: 4096
READ from sector 40: 98304
Notify on address 0x4001000
Output to block
READ from sector 232: 126976
READ from sector 480: 4096
READ from sector 512: 4096
Notify on address 0x4001000
Output to block
Notify on address 0x4001000
Output to block
Notify on address 0x4001000
Output to block
READ from sector 4592631: 61440
READ from sector 7475183: 4096
Notify on address 0x4001000
Output to block
READ from sector 6555943: 4096
READ from sector 7340151: 4096
Notify on address 0x4001000
Output to block
READ from sector 6620151: 4096
Notify on address 0x4001000
Output to block
READ from sector 6621687: 32768
Notify on address 0x4001000
Output to block
READ from sector 6621751: 20480
Notify on address 0x4001000
Output to block
READ from sector 6621791: 69632
Notify on address 0x4001000
Output to block
READ from sector 4591927: 12288
Notify on address 0x4001000
Output to block
READ from sector 524471: 4096
Notify on address 0x4001000
Output to block
READ from sector 596327: 4096
Notify on address 0x4001000
Output to block
READ from sector 596335: 12288
Notify on address 0x4001000
Output to block
READ from sector 8385727: 4096
Notify on address 0x4001000
Output to block
READ from sector 8385863: 4096
Notify on address 0x4001000
Output to block
READ from sector 8385671: 4096
Notify on address 0x4001000
Output to block
READ from sector 8385911: 4096
Notify on address 0x4001000
Output to block
READ from sector 8385527: 4096
Notify on address 0x4001000
Output to block
READ from sector 8385919: 4096
Notify on address 0x4001000
Output to block
READ from sector 79: 126976
READ from sector 327: 4096
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4001000
Output to block
READ from sector 595975: 4096
Notify on address 0x4001000
Output to block
READ from sector 598735: 4096
Notify on address 0x4001000
Output to block
READ from sector 7477767: 32768
Notify on address 0x4001000
Output to block
READ from sector 7477831: 20480
Notify on address 0x4001000
Output to block
READ from sector 7477871: 49152
Notify on address 0x4001000
Output to block
READ from sector 7477967: 126976
READ from sector 7478215: 4096
READ from sector 7478223: 57344
Notify on address 0x4001000
Output to block
READ from sector 7340167: 4096
Notify on address 0x4001000
Output to block
READ from sector 7499695: 4096
Notify on address 0x4001000
Output to block
READ from sector 7499927: 32768
Notify on address 0x4001000
Output to block
READ from sector 7499991: 20480
Notify on address 0x400Loading default keymap (uk): [  OK  ]
Setting hostname localhost.localdomain:  [  OK  ]
1000
Output to block
READ from sector 7500031: 49152
Notify on address 0x4001000
Output to block
READ from sector 7500127: 126976
READ from sector 7500375: 4096
Notify on address 0x4001000
Output to block
READ from sector 7500383: 126976
READ from sector 7500631: 4096
Notify on address 0x4001000
Output to block
READ from sector 7500639: 126976
READ from sector 7500887: 4096
READ from sector 7500895: 32768
Notify on address 0x4001000
Output to block
READ from sector 860655: 16384
Notify on address 0x4001000
Output to block
READ from sector 860687: 36864
Notify on address 0x4001000
Output to block
READ from sector 860759: 12288
Notify on address 0x4001000
Output to block
READ from sector 3856647: 16384
Notify on address 0x4001000
Output to block
READ from sector 3856679: 24576
Notify on address 0x4001000
Output to block
READ from sector 3856479: 12288
Notify on address 0x4001000
Output to block
READ from sector 3856503: 16384
Notify on address 0x4001000
Output to block
READ from sector 3856535: 36864
Notify on address 0x4001000
Output to block
READ from sector 3856607: 20480
Notify on address 0x4001000
Output to block
READ from sector 524439: 4096
Notify on address 0x4001000
Output to block
READ from sector 595239: 4096
Notify on address 0x4001000
Output to block
READ from sector 704591: 4096
Notify on address 0x4001000
Output to block
READ from sector 589935: 4096
Notify on address 0x4001000
Output to block
READ from sector 596479: 4096
Notify on address 0x4001000
Output to block
READ from sector 595959: 4096
Notify on address 0x4001000
Output to block
READ from sector 630823: 4096
Notify on address 0x4001000
Output to block
READ from sector 4456943: 4096
Notify on address 0x4005000
Output to console
Notify on address 0x4001000
Output to block
READ from sector 869823: 16384
Notify on address 0x4001000
Output to block
READ from sector 869855: 36864
Notify on address 0x4001000
Output to block
READ from sector 869927: 32768
Notify on address 0x4001000
Output to block
READ from sector 4558399: 4096
Notify on address 0x4001000
Output to block
READ from sector 4456983: 4096
Notify on address 0x4001000
Output to block
READ from sector 4559799: 4096
Notify on address 0x4001000
Output to block
READ from sector 4558471: 4096
Notify on address 0x4001000
Output to block
READ from sector 4456951: 4096
Notify on address 0x4001000
Output to block
READ from sector 4558591: 4096
Notify on address 0x4001000
Output to block
READ from sector 4558655: 4096
Notify on address 0x4001000
Output to block
READ from sector 4456975: 4096
Notify on address 0x4001000
Output to block
READ from sector 4559671: 4096
Notify on address 0x4001000
Output to block
READ from sector 4558823: 4096
Notify on address 0x4001000
Output to block
READ from sector 4559647: 4096
Notify on address 0x4001000
Output to block
READ from sector 4558791: 4096
Notify on address 0x4001000
Output to block
READ from sector 4558687: 4096
Notify on address 0x4001000
Output to block
READ from sector 4558767: 4096
Notify on address 0x4001000
Output to block
READ from sector 4558743: 8192
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4001000
Output to block
READ from sector 1904591: 16384
Notify on address 0x4001000
Output to block
READ from sector 1904687: 4096
Notify on address 0x4001000
Output to block
READ from sector 1909039: 69632
Notify on address 0x4001000
Output to block
READ from sector 1906895: 126976
READ from sector 1907143: 4096
Notify on address 0x4001000
Output to block
READ from sector 1907847: 126976
Notify raidautorun: failed to open /dev/md0: No such device or address
on address 0x4001000
Output to block
READ from sector 1908095: 4096
READ from sector 1908503: 126976
READ from sector 1908751: 4096
Notify on address 0x4001000
Output to block
READ from sector 1907375: 126976
READ from sector 1907623: 4096
Notify on address 0x4001000
Output to block
READ from sector 1907631: 110592
Notify on address 0x4001000
Output to block
READ from sector 1907151: 65536
Notify on address 0x4001000
Output to block
READ from sector 1908119: 126976
READ from sector 1908367: 4096
Notify on address 0x4001000
Output to block
READ from sector 1908759: 69632
Notify on address 0x4001000
Output to block
READ from sector 1905887: 126976
READ from sector 1906135: 4096
Notify on address 0x4001000
Output to block
READ from sector 1908375: 65536
Notify on address 0x4001000
Output to block
READ from sector 1904623: 32768
READ from sector 1904695: 86016
Notify on address 0x4001000
Output to block
READ from sector 1907279: 49152
Notify on address 0x4001000
Output to block
READ from sector 1905303: 126976
READ from sector 1905551: 4096
Notify on address 0x4001000
Output to block
READ from sector 1904967: 126976
READ from sector 1905215: 4096
Notify on address 0x4001000
Output to block
READ from sector 1904863: 53248
Notify on address 0x4001000
Output to block
READ from sector 1905223: 40960
Notify on address 0x4001000
Output to block
READ from sector 3416159: 4096
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4001000
Output to block
READ from sector 855479: 16384
Notify on address 0x4001000
Output to block
READ from sector 855511: 36864
Notify on address 0x4001000
Output to block
READ from sector 855583: 32768
READ from sector 855703: 4096
Notify on address 0x4001000
Output to block
READ from sector 4439919: 16384
Notify on address 0x4001000
Output to block
READ from sector 4440007: 8192
Notify on address 0x4001000
Output to block
READ from sector 4440023: 69632
Notify on address 0x4001000
Output to block
READ from sector 7507743: 4096
Notify on address 0x4001000
Output to block
READ from sector 7508287: 32768
Notify on address 0x4001000
Output to block
READ from sector 7508351: 20480
Notify on address 0x4001000
Output to block
READ from sector 7508391: 49152
Notify on address 0x4001000
Output to block
READ from sector 7508487: 126976
READ from sector 7508735: 4096
Notify on address 0x4001000
Output to block
READ from sector 7508743: 126976
READ from sector 7508991: 4096
Notify on address 0x4001000
Output to block
READ from sector 7508999: 126976
READ from sector 7509247: 4096
Notify on address 0x4001000
Output to block
READ from sector 7509255: 126976
READ from sector 7509503: 4096
Notify on address 0x4001000
Output to block
READ from sector 7509511: 126976
READ from sector 7509759: 4096
Notify on address 0x4001000
Output to block
READ from sector 7509767: 126976
READ from sector 7510015: 4096
READ from sector 7510023: 49152
Notify on address 0x4001000
Output to block
READ from sector 855431: 16384
Notify on address 0x4001000
Output to block
READ from sector 855463: 8192
Notify on address 0x4001000
Output to block
READ from sector 7340175: 4096
Notify on address 0x4001000
Output to block
READ from sector 7511887: 32768
Notify on address 0x4001000
Output to block
READ from sector 7511951: 20480
Notify on address 0x4001000
Output to block
READ from sector 7511991: 49152
Notify on address 0x4001000
Output to block
READ from sector 7512087: 126976
READ from sector 7512335: 4096
READ from sector 7512343: 77824
Notify on address 0x4001000
Output to block
READ from sector 1933431: 16384
Notify on address 0x4001000
Output to block
READ from sector 1933527: 4096
Notify on address 0x4001000
Output to block
READ from sector 1935215: 69632
Notify on address 0x4001000
Output to block
READ from sector 1933879: 126976
READ from sector 1934127: 4096
Notify on address 0x4001000
Output to block
READ from sector 1934287: 126976
READ from sector 1934535: 4096
Notify on address 0x4001000
Output to block
READ from sector 1934935: Setting up Logical Volume Management:   No volume groups found
[  OK  ]
Checking filesystems
Checking all file systems.
[/sbin/fsck.ext3 (1) -- /] fsck.ext3 -a /dev/vda1 
126976
READ from sector 1935183: 4096
Notify on address 0x4001000
Output to block
READ from sector 1934135: 77824
Notify on address 0x4001000
Output to block
READ from sector 1934615: 126976
READ from sector 1934863: 4096
Notify on address 0x4001000
Output to block
READ from sector 1935191: 12288
Notify on address 0x4001000
Output to block
READ from sector 1933599: 126976
READ from sector 1933847: 4096
Notify on address 0x4001000
Output to block
READ from sector 1934543: 36864
Notify on address 0x4001000
Output to block
READ from sector 1933463: 32768
READ from sector 1933535: 32768
Notify on address 0x4001000
Output to block
READ from sector 1934871: 32768
Notify on address 0x4005000
Output to console
Notify on address 0x4001000
Output to block
READ from sector 1928455: 16384
Notify on address 0x4001000
Output to block
READ from sector 1928551: 4096
Notify on address 0x4001000
Output to block
READ from sector 1931559: 69632
Notify on address 0x4001000
Output to block
READ from sector 1929823: 126976
READ from sector 1930071: 4096
Notify on address 0x4001000
Output to block
READ from sector 1930431: 126976
READ from sector 1930679: 4096
Notify on address 0x4001000
Output to block
READ from sector 1931183: 126976
READ from sector 1931431: 4096
Notify on address 0x4001000
Output to block
READ from sector 1930111: 126976
READ from sector 1930359: 4096
Notify on address 0x4001000
Output to block
READ from sector 1930711: 126976
READ from sector 1930959: 4096
Notify on address 0x4001000
Output to block
READ from sector 1931439: 61440
Notify on address 0x4001000
Output to block
READ from sector 1929407: 126976
READ from sector 1929655: 4096
Notify on address 0x4001000
Output to block
READ from sector 1931031: 77824
Notify on address 0x4001000
Output to block
READ from sector 1930079: 16384
Notify on address 0x4001000
Output to block
READ from sector 1929111: 126976
READ from sector 1929359: 4096
Notify on address 0x4001000
Output to block
READ from sector 1928591: 126976
READ from sector 1928839: 4096
Notify on address 0x4001000
Output to block
READ from sector 1928487: 32768
Notify on address 0x4001000
Output to block
READ from sector 1928559: 16384
READ from sector 1930967: 32768
Notify on address 0x4001000
Output to block
READ from sector 1928847: 114688
Notify on address 0x4001000
Output to block
READ from sector 524527: 4096
Notify on address 0x4001000
Output to block
READ from sector 597511: 4096
Notify on address 0x4001000
Output to block
READ from sector 597535: 16384
Notify on address 0x4001000
Output to block
READ from sector 532591: 4096
Notify on address 0x4001000
Output to block
READ from sector 1929071: 20480
Notify on address 0x4001000
Output to block
READ from sector 5310143: 4096
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4001000
Output to block
READ from sector 596471: 4096
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4001000
Output to block
READ from sector 1911335: 16384
Notify on address 0x4001000
Output to block
READ from sector 1911367: 8192
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4001000
Output to block
READ from sector 1920431: 16384
Notify on address 0x4001000
Output to block/: clean, 64515/1048576 files, 599286/1048233 blocks
[  OK  ]
Remounting root filesystem in read-write mode:  [  OK  ]
Mounting local filesystems:  [  OK  ]
Enabling local filesystem quotas:  [  OK  ]

READ from sector 1920527: 4096
Notify on address 0x4001000
Output to block
READ from sector 1922351: 69632
Notify on address 0x4001000
Output to block
READ from sector 1920967: 126976
READ from sector 1921215: 4096
Notify on address 0x4001000
Output to block
READ from sector 1921431: 126976
READ from sector 1921679: 4096
Notify on address 0x4001000
Output to block
READ from sector 1922063: 126976
READ from sector 1922311: 4096
Notify on address 0x4001000
Output to block
READ from sector 1921223: 106496
Notify on address 0x4001000
Output to block
READ from sector 1921735: 126976
READ from sector 1921983: 4096
Notify on address 0x4001000
Output to block
READ from sector 1922319: 16384
Notify on address 0x4001000
Output to block
READ from sector 1920639: 126976
READ from sector 1920887: 4096
Notify on address 0x4001000
Output to block
READ from sector 1920463: 32768
READ from sector 1920535: 53248
Notify on address 0x4001000
Output to block
READ from sector 10367: 4096
Notify on address 0x4001000
Output to block
READ from sector 335: 16384
Notify on address 0x4001000
Output to block
READ from sector 367: 98304
Notify on address 0x4001000
Output to block
READ from sector 559: 126976
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4001000
Output to block
READ from sector 807: 126976
READ from sector 1055: 8192
READ from sector 1921991: 36864
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4001000
Output to block
WRITE to sector 10375: 4096
Notify on address 0x4001000
Output to block
WRITE to sector 63: 4096
Notify on address 0x4001000
Output to block
READ from sector 524359: 4096
Notify on address 0x4001000
Output to block
READ from sector 532639: 4096
Notify on address 0x4001000
Output to block
READ from sector 524647: 4096
Notify on address 0x4001000
Output to block
READ from sector 524351: 4096
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4001000
Output to block
READ from sector 532623: 4096
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4001000
Output to block
READ from sector 1909799: 16384
Notify on address 0x4001000
Output to block
READ from sector 1909831: 36864
Notify on address 0x4001000
Output to block
READ from sector 1909903: 20480
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4001000
Output to block
READ from sector 5308487: 4096
Notify on address 0x4001000
Output to block
READ from sector 5242991: 4096
Notify on address 0x4001000
Output to block
READ from sector 5488703: 4096
Notify on address 0x4001000
Output to block
READ from sector 856719: 16384
Notify on address 0x4001000
Output to block
READ from sector 856751: 4096
READ from sector 856919: 20480
Notify on address 0x4001000
Output to block
READ from sector 860879: 16384
Notify on address 0x4001000
Output to block
READ from sector 860911: 32768
Notify on address 0x4001000
Output to block
READ from sector 5242943: 4096
Notify on addreEnabling /etc/fstab swaps:  [  OK  ]
ss 0x4001000
Output to block
READ from sector 5325431: 4096
Notify on address 0x4001000
Output to block
READ from sector 5325423: 4096
Notify on address 0x4001000
Output to block
READ from sector 5310151: 4096
Notify on address 0x4001000
Output to block
READ from sector 5325343: 4096
Notify on address 0x4001000
Output to block
READ from sector 5251319: 4096
Notify on address 0x4001000
Output to block
READ from sector 5325351: 4096
Notify on address 0x4001000
Output to block
READ from sector 5323295: 4096
Notify on address 0x4001000
Output to block
READ from sector 5325543: 4096
Notify on address 0x4001000
Output to block
READ from sector 5325551: 4096
Notify on address 0x4001000
Output to block
READ from sector 5323375: 4096
Notify on address 0x4001000
Output to block
READ from sector 5325511: 4096
Notify on address 0x4001000
Output to block
READ from sector 5323351: 4096
Notify on address 0x4001000
Output to block
READ from sector 5325175: 4096
Notify on address 0x4001000
Output to block
READ from sector 5318839: 4096
Notify on address 0x4001000
Output to block
READ from sector 5325455: 4096
Notify on address 0x4001000
Output to block
READ from sector 5242951: 4096
Notify on address 0x4001000
Output to block
READ from sector 5325391: 4096
Notify on address 0x4001000
Output to block
READ from sector 5251223: 4096
Notify on address 0x4001000
Output to block
READ from sector 5308495: 4096
Notify on address 0x4001000
Output to block
Notify on address 0x4001000
Output to block
READ from sector 1919871: 16384
Notify on address 0x4001000
Output to block
READ from sector 5251191: 4096
Notify on address 0x4001000
Output to block
READ from sector 1919903: 8192
READ from sector 1922751: 4096
READ from sector 855711: 16384
Notify on address 0x4001000
Output to block
READ from sector 855927: 28672
Notify on address 0x4001000
Output to block
READ from sector 3735615: 4096
Notify on address 0x4001000
Output to block
READ from sector 6816871: 4096
Notify on address 0x4001000
Output to block
READ from sector 6894863: 4096
Notify on address 0x4001000
Output to block
READ from sector 6815807: 4096
Notify on address 0x4001000
Output to block
READ from sector 6815815: 4096
Notify on address 0x4001000
Output to block
READ from sector 3678287: 4096
Notify on address 0x4001000
Output to block
READ from sector 856127: 16384
Notify on address 0x4001000
Output to block
READ from sector 856159: 28672
Notify on address 0x4005000
Output to console
Notify on address 0x4001000
Output to block
READ from sector 1919279: 16384
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4001000
Output to block
READ from sector 6189703: 4096
Notify on address 0x4001000
Output to block
READ from sector 6197919: 32768
Notify on address 0x4001000
Output to block
READ from sector 6197983: 20480
Notify on address 0x4001000
Output to block
READ from sector 6198023: 86016
Notify on address 0x4001000
Output to block
READ from sector 3148671: 4096
Notify on address 0x4001000
Output to block
READ from sector 4195303: 4096
Notify on address 0x4001000
Output to block
READ from sector 4371239: 4096
Notify on address 0x4001000
Output to block
READ from sector 4195319: 4096
Notify on address 0x4001000
Output to block
READ from sector 2127: 4096
Notify on address 0x4001000
Output to block
READ from sector 322951: 4096
Notify on address 0x4001000
Output to block
READ from sector 5500207: 4096
Notify on address 0x4001000
Output to block
READ from sector 590103: 4096
Notify on address 0x4001000
Output to block
READ from sector 3147479: 4096
Notify on address 0x4001000
Output to block
READ from sector 3211543: 4096
Notify on address 0x4001000
Output to block
READ from sector 3211599: 4096
Notify on address 0x4001000
Output to block
READ from sector 3839895: 16384
Notify on address 0x4001000
Output to block
READ from sector 3839927: 8192
Notify on address 0x4001000
Output to block
READ fromsh-3.1# 
sh-3.1# 
sh-3.1# 
sh-3.1# 
sh-3.1# 
sh-3.1# 
sh-3.1#  sector 5310191: 4096
Notify on address 0x4001000
Output to block
READ from sector 5310207: 4096
Notify on address 0x4001000
Output to block
READ from sector 593751: 4096
Notify on address 0x4001000
Output to block
READ from sector 3416223: 4096
Notify on address 0x4001000
Output to block
READ from sector 3147399: 4096
Notify on address 0x4001000
Output to block
READ from sector 3867535: 16384
Notify on address 0x4001000
Output to block
READ from sector 3867567: 12288
Notify on address 0x4001000
Output to block
READ from sector 593695: 4096
Notify on address 0x4001000
Output to block
READ from sector 524383: 4096
Notify on address 0x4001000
Output to block
READ from sector 591079: 4096
Notify on address 0x4001000
Output to block
READ from sector 721631: 4096
Notify on address 0x4001000
Output to block
READ from sector 524391: 4096
Notify on address 0x4001000
Output to block
READ from sector 593087: 4096
Notify on address 0x4001000
Output to block
READ from sector 3147383: 4096
Notify on address 0x4001000
Output to block
READ from sector 524671: 4096
Notify on address 0x4001000
Output to block
READ from sector 721615: 4096
Notify on address 0x4001000
Output to block
READ from sector 524567: 4096
Notify on address 0x4001000
Output to block
READ from sector 599343: 4096
Notify on address 0x4001000
Output to block
READ from sector 213055: 4096
Notify on address 0x4001000
Output to block
READ from sector 591151: 16384
Notify on address 0x4001000
Output to block
READ from sector 591183: 36864
Notify on address 0x4001000
Output to block
READ from sector 591255: 65536
Notify on address 0x4001000
Output to block
READ from sector 591383: 126976
READ from sector 591631: 4096
READ from sector 590079: 4096
Notify on address 0x4001000
Output to block
READ from sector 866247: 4096
Notify on address 0x4005000
Output to console
Notify on address 0x4001000
Output to block
WRITE to sector 10375: 4096
Notify on address 0x4001000
Output to block
Notify on address 0x4001000
Output to block
WRITE to sector 688191: 4096
WRITE to sector 737447: 8192
WRITE to sector 5341271: 4096
WRITE to sector 5488775: 4096
WRITE to sector 5489063: 4096
WRITE to sector 5500207: 4096
WRITE to sector 5259375: 4096
Notify on address 0x4001000
Output to block
WRITE to sector 10383: 4096
READ from sector 10471: 4096
Notify on address 0x4001000
Output to block
WRITE to sector 10479: 126976
WRITE to sector 10727: 94208
WRITE to sector 10391: 40960
Notify on address 0x4001000
Output to block
WRITE to sector 10911: 4096
Notify on address 0x4004000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4004000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4004000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4004000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4004000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4004000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4001000
Output to block
Notify on address 0x4001000
Output to block
Notify on address 0x4001000
Output to block
Notify on address 0x4001000
Output to block
WRITE to sector 524351: 4096
WRITE to sector 63: 8192
WRITE to sector 2127: 8192
WRITE to sector 10327: 4096
WRITE to sector 524359: 20480
WRITE to sector 524415: 8192
WRITE to sector 524439: 4096
WRITE to sector 524455: 4096
WRITE to sector 524463: 4096
WRITE to sector 524495: 4096
WRITE to sector 
sh-3.1# 
sh-3.1# 524559: 8192
WRITE to sector 524583: 4096
WRITE to sector 524647: 4096
WRITE to sector 524671: 12288
WRITE to sector 589887: 4096
WRITE to sector 595239: 4096
Notify on address 0x4001000
Output to block
WRITE to sector 788567: 12288
WRITE to sector 1837143: 20480
WRITE to sector 3146991: 4096
WRITE to sector 3147047: 4096
WRITE to sector 3147399: 4096
WRITE to sector 3147479: 4096
WRITE to sector 3148671: 4096
WRITE to sector 3408327: 16384
WRITE to sector 3670095: 4096
WRITE to sector 3670159: 4096
WRITE to sector 3735615: 4096
WRITE to sector 3933519: 4096
WRITE to sector 4194383: 4096
WRITE to sector 4457695: 4096
WRITE to sector 5242943: 28672
WRITE to sector 5243079: 4096
Notify on address 0x4001000
Output to block
WRITE to sector 5310183: 4096
WRITE to sector 6029615: 4096
WRITE to sector 6815807: 8192
WRITE to sector 6816871: 4096
WRITE to sector 6894871: 4096
Notify on address 0x4001000
Output to block
WRITE to sector 10919: 4096
Notify on address 0x4004000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4004000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Notify on address 0x4005000
Output to console
Guest base is at 0xb3cde000
device 0: console
mapped initrd /boot/initrd.img-2.6.23-rc9 size=14139392 @ 0x3284000
Linear mapping of 16384 pages in 16 pte pages at 0x3273000
Guest: 0xb3cde000 - 0xb7ce4000 (0x4006000)

[-- Attachment #3: .config --]
[-- Type: text/plain, Size: 50122 bytes --]

#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.23-rc9
# Wed Oct  3 15:39:07 2007
#
CONFIG_X86_32=y
CONFIG_GENERIC_TIME=y
CONFIG_GENERIC_CMOS_UPDATE=y
CONFIG_CLOCKSOURCE_WATCHDOG=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_SEMAPHORE_SLEEPERS=y
CONFIG_X86=y
CONFIG_MMU=y
CONFIG_ZONE_DMA=y
CONFIG_QUICKLIST=y
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_IOMAP=y
CONFIG_GENERIC_BUG=y
CONFIG_GENERIC_HWEIGHT=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
CONFIG_DMI=y
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"

#
# General setup
#
CONFIG_EXPERIMENTAL=y
CONFIG_LOCK_KERNEL=y
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_LOCALVERSION=""
# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
CONFIG_SYSVIPC_SYSCTL=y
CONFIG_POSIX_MQUEUE=y
CONFIG_BSD_PROCESS_ACCT=y
CONFIG_BSD_PROCESS_ACCT_V3=y
# CONFIG_TASKSTATS is not set
# CONFIG_USER_NS is not set
CONFIG_AUDIT=y
# CONFIG_AUDITSYSCALL is not set
# CONFIG_IKCONFIG is not set
CONFIG_LOG_BUF_SHIFT=17
CONFIG_CPUSETS=y
CONFIG_SYSFS_DEPRECATED=y
CONFIG_RELAY=y
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=""
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
CONFIG_SYSCTL=y
# CONFIG_EMBEDDED is not set
CONFIG_UID16=y
CONFIG_SYSCTL_SYSCALL=y
CONFIG_KALLSYMS=y
CONFIG_KALLSYMS_ALL=y
# CONFIG_KALLSYMS_EXTRA_PASS is not set
CONFIG_HOTPLUG=y
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_ELF_CORE=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_ANON_INODES=y
CONFIG_EPOLL=y
CONFIG_SIGNALFD=y
CONFIG_EVENTFD=y
CONFIG_SHMEM=y
CONFIG_VM_EVENT_COUNTERS=y
CONFIG_SLUB_DEBUG=y
# CONFIG_SLAB is not set
CONFIG_SLUB=y
# CONFIG_SLOB is not set
CONFIG_RT_MUTEXES=y
# CONFIG_TINY_SHMEM is not set
CONFIG_BASE_SMALL=0
CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
# CONFIG_MODULE_FORCE_UNLOAD is not set
CONFIG_MODVERSIONS=y
CONFIG_MODULE_SRCVERSION_ALL=y
CONFIG_KMOD=y
CONFIG_STOP_MACHINE=y
CONFIG_BLOCK=y
CONFIG_LBD=y
# CONFIG_BLK_DEV_IO_TRACE is not set
# CONFIG_LSF is not set
# CONFIG_BLK_DEV_BSG is not set

#
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=y
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=y
# CONFIG_DEFAULT_AS is not set
# CONFIG_DEFAULT_DEADLINE is not set
CONFIG_DEFAULT_CFQ=y
# CONFIG_DEFAULT_NOOP is not set
CONFIG_DEFAULT_IOSCHED="cfq"

#
# Processor type and features
#
CONFIG_TICK_ONESHOT=y
CONFIG_NO_HZ=y
CONFIG_HIGH_RES_TIMERS=y
CONFIG_SMP=y
CONFIG_X86_PC=y
# CONFIG_X86_ELAN is not set
# CONFIG_X86_VOYAGER is not set
# CONFIG_X86_NUMAQ is not set
# CONFIG_X86_SUMMIT is not set
# CONFIG_X86_BIGSMP is not set
# CONFIG_X86_VISWS is not set
# CONFIG_X86_GENERICARCH is not set
# CONFIG_X86_ES7000 is not set
CONFIG_PARAVIRT=y
CONFIG_PARAVIRT_GUEST=y
# CONFIG_XEN is not set
CONFIG_VMI=y
CONFIG_LGUEST_GUEST=y
# CONFIG_M386 is not set
# CONFIG_M486 is not set
# CONFIG_M586 is not set
# CONFIG_M586TSC is not set
# CONFIG_M586MMX is not set
# CONFIG_M686 is not set
# CONFIG_MPENTIUMII is not set
# CONFIG_MPENTIUMIII is not set
CONFIG_MPENTIUMM=y
# CONFIG_MCORE2 is not set
# CONFIG_MPENTIUM4 is not set
# CONFIG_MK6 is not set
# CONFIG_MK7 is not set
# CONFIG_MK8 is not set
# CONFIG_MCRUSOE is not set
# CONFIG_MEFFICEON is not set
# CONFIG_MWINCHIPC6 is not set
# CONFIG_MWINCHIP2 is not set
# CONFIG_MWINCHIP3D is not set
# CONFIG_MGEODEGX1 is not set
# CONFIG_MGEODE_LX is not set
# CONFIG_MCYRIXIII is not set
# CONFIG_MVIAC3_2 is not set
# CONFIG_MVIAC7 is not set
CONFIG_X86_GENERIC=y
CONFIG_X86_CMPXCHG=y
CONFIG_X86_L1_CACHE_SHIFT=7
CONFIG_X86_XADD=y
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
# CONFIG_ARCH_HAS_ILOG2_U32 is not set
# CONFIG_ARCH_HAS_ILOG2_U64 is not set
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_X86_WP_WORKS_OK=y
CONFIG_X86_INVLPG=y
CONFIG_X86_BSWAP=y
CONFIG_X86_POPAD_OK=y
CONFIG_X86_GOOD_APIC=y
CONFIG_X86_INTEL_USERCOPY=y
CONFIG_X86_USE_PPRO_CHECKSUM=y
CONFIG_X86_TSC=y
CONFIG_X86_CMOV=y
CONFIG_X86_MINIMUM_CPU_FAMILY=4
CONFIG_HPET_TIMER=y
CONFIG_HPET_EMULATE_RTC=y
CONFIG_NR_CPUS=8
CONFIG_SCHED_SMT=y
CONFIG_SCHED_MC=y
# CONFIG_PREEMPT_NONE is not set
CONFIG_PREEMPT_VOLUNTARY=y
# CONFIG_PREEMPT is not set
CONFIG_PREEMPT_BKL=y
CONFIG_X86_LOCAL_APIC=y
CONFIG_X86_IO_APIC=y
CONFIG_X86_MCE=y
# CONFIG_X86_MCE_NONFATAL is not set
# CONFIG_X86_MCE_P4THERMAL is not set
CONFIG_VM86=y
# CONFIG_TOSHIBA is not set
CONFIG_I8K=m
CONFIG_X86_REBOOTFIXUPS=y
CONFIG_MICROCODE=m
CONFIG_MICROCODE_OLD_INTERFACE=y
CONFIG_X86_MSR=m
CONFIG_X86_CPUID=m

#
# Firmware Drivers
#
# CONFIG_EDD is not set
CONFIG_EFI_VARS=y
CONFIG_DELL_RBU=m
CONFIG_DCDBAS=m
CONFIG_DMIID=y
# CONFIG_NOHIGHMEM is not set
CONFIG_HIGHMEM4G=y
# CONFIG_HIGHMEM64G is not set
CONFIG_PAGE_OFFSET=0xC0000000
CONFIG_HIGHMEM=y
CONFIG_ARCH_FLATMEM_ENABLE=y
CONFIG_ARCH_SPARSEMEM_ENABLE=y
CONFIG_ARCH_SELECT_MEMORY_MODEL=y
CONFIG_ARCH_POPULATES_NODE_MAP=y
CONFIG_SELECT_MEMORY_MODEL=y
CONFIG_FLATMEM_MANUAL=y
# CONFIG_DISCONTIGMEM_MANUAL is not set
# CONFIG_SPARSEMEM_MANUAL is not set
CONFIG_FLATMEM=y
CONFIG_FLAT_NODE_MEM_MAP=y
CONFIG_SPARSEMEM_STATIC=y
CONFIG_SPLIT_PTLOCK_CPUS=4
# CONFIG_RESOURCES_64BIT is not set
CONFIG_ZONE_DMA_FLAG=1
CONFIG_BOUNCE=y
CONFIG_NR_QUICK=1
CONFIG_VIRT_TO_BUS=y
CONFIG_HIGHPTE=y
# CONFIG_MATH_EMULATION is not set
CONFIG_MTRR=y
CONFIG_EFI=y
# CONFIG_IRQBALANCE is not set
CONFIG_BOOT_IOREMAP=y
CONFIG_SECCOMP=y
# CONFIG_HZ_100 is not set
# CONFIG_HZ_250 is not set
# CONFIG_HZ_300 is not set
CONFIG_HZ_1000=y
CONFIG_HZ=1000
CONFIG_KEXEC=y
CONFIG_CRASH_DUMP=y
CONFIG_PHYSICAL_START=0x100000
CONFIG_RELOCATABLE=y
CONFIG_PHYSICAL_ALIGN=0x100000
CONFIG_HOTPLUG_CPU=y
CONFIG_COMPAT_VDSO=y
CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y

#
# Power management options (ACPI, APM)
#
CONFIG_PM=y
CONFIG_PM_LEGACY=y
CONFIG_PM_DEBUG=y
# CONFIG_PM_VERBOSE is not set
# CONFIG_DISABLE_CONSOLE_SUSPEND is not set
CONFIG_PM_TRACE=y
CONFIG_PM_SLEEP_SMP=y
CONFIG_PM_SLEEP=y
CONFIG_SUSPEND_SMP_POSSIBLE=y
CONFIG_SUSPEND=y
CONFIG_HIBERNATION_SMP_POSSIBLE=y
# CONFIG_HIBERNATION is not set
CONFIG_ACPI=y
CONFIG_ACPI_SLEEP=y
# CONFIG_ACPI_PROCFS is not set
CONFIG_ACPI_PROC_EVENT=y
CONFIG_ACPI_AC=m
CONFIG_ACPI_BATTERY=m
CONFIG_ACPI_BUTTON=m
CONFIG_ACPI_VIDEO=m
CONFIG_ACPI_FAN=m
CONFIG_ACPI_DOCK=m
# CONFIG_ACPI_BAY is not set
CONFIG_ACPI_PROCESSOR=m
CONFIG_ACPI_HOTPLUG_CPU=y
CONFIG_ACPI_THERMAL=m
CONFIG_ACPI_ASUS=m
CONFIG_ACPI_TOSHIBA=m
CONFIG_ACPI_BLACKLIST_YEAR=2000
# CONFIG_ACPI_DEBUG is not set
CONFIG_ACPI_EC=y
CONFIG_ACPI_POWER=y
CONFIG_ACPI_SYSTEM=y
CONFIG_X86_PM_TIMER=y
CONFIG_ACPI_CONTAINER=m
CONFIG_ACPI_SBS=m
CONFIG_APM=m
# CONFIG_APM_IGNORE_USER_SUSPEND is not set
# CONFIG_APM_DO_ENABLE is not set
# CONFIG_APM_CPU_IDLE is not set
# CONFIG_APM_DISPLAY_BLANK is not set
# CONFIG_APM_ALLOW_INTS is not set
# CONFIG_APM_REAL_MODE_POWER_OFF is not set

#
# CPU Frequency scaling
#
CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_TABLE=m
# CONFIG_CPU_FREQ_DEBUG is not set
CONFIG_CPU_FREQ_STAT=m
CONFIG_CPU_FREQ_STAT_DETAILS=y
CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
CONFIG_CPU_FREQ_GOV_POWERSAVE=m
CONFIG_CPU_FREQ_GOV_USERSPACE=m
CONFIG_CPU_FREQ_GOV_ONDEMAND=m
CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m

#
# CPUFreq processor drivers
#
CONFIG_X86_ACPI_CPUFREQ=m
# CONFIG_X86_POWERNOW_K6 is not set
# CONFIG_X86_POWERNOW_K7 is not set
# CONFIG_X86_POWERNOW_K8 is not set
# CONFIG_X86_GX_SUSPMOD is not set
CONFIG_X86_SPEEDSTEP_CENTRINO=m
CONFIG_X86_SPEEDSTEP_CENTRINO_TABLE=y
CONFIG_X86_SPEEDSTEP_ICH=m
CONFIG_X86_SPEEDSTEP_SMI=m
CONFIG_X86_P4_CLOCKMOD=m
# CONFIG_X86_CPUFREQ_NFORCE2 is not set
# CONFIG_X86_LONGRUN is not set
# CONFIG_X86_LONGHAUL is not set
# CONFIG_X86_E_POWERSAVER is not set

#
# shared options
#
# CONFIG_X86_ACPI_CPUFREQ_PROC_INTF is not set
CONFIG_X86_SPEEDSTEP_LIB=m
CONFIG_X86_SPEEDSTEP_RELAXED_CAP_CHECK=y

#
# Bus options (PCI, PCMCIA, EISA, MCA, ISA)
#
CONFIG_PCI=y
# CONFIG_PCI_GOBIOS is not set
# CONFIG_PCI_GOMMCONFIG is not set
# CONFIG_PCI_GODIRECT is not set
CONFIG_PCI_GOANY=y
CONFIG_PCI_BIOS=y
CONFIG_PCI_DIRECT=y
CONFIG_PCI_MMCONFIG=y
CONFIG_PCIEPORTBUS=y
CONFIG_HOTPLUG_PCI_PCIE=m
# CONFIG_HOTPLUG_PCI_PCIE_POLL_EVENT_MODE is not set
CONFIG_PCIEAER=y
CONFIG_ARCH_SUPPORTS_MSI=y
CONFIG_PCI_MSI=y
# CONFIG_PCI_DEBUG is not set
CONFIG_HT_IRQ=y
CONFIG_ISA_DMA_API=y
# CONFIG_ISA is not set
# CONFIG_MCA is not set
# CONFIG_SCx200 is not set

#
# PCCARD (PCMCIA/CardBus) support
#
CONFIG_PCCARD=m
# CONFIG_PCMCIA_DEBUG is not set
CONFIG_PCMCIA=m
CONFIG_PCMCIA_LOAD_CIS=y
CONFIG_PCMCIA_IOCTL=y
CONFIG_CARDBUS=y

#
# PC-card bridges
#
CONFIG_YENTA=m
CONFIG_YENTA_O2=y
CONFIG_YENTA_RICOH=y
CONFIG_YENTA_TI=y
CONFIG_YENTA_ENE_TUNE=y
CONFIG_YENTA_TOSHIBA=y
CONFIG_PD6729=m
CONFIG_I82092=m
CONFIG_PCCARD_NONSTATIC=m
CONFIG_HOTPLUG_PCI=m
CONFIG_HOTPLUG_PCI_FAKE=m
CONFIG_HOTPLUG_PCI_COMPAQ=m
CONFIG_HOTPLUG_PCI_COMPAQ_NVRAM=y
CONFIG_HOTPLUG_PCI_IBM=m
CONFIG_HOTPLUG_PCI_ACPI=m
CONFIG_HOTPLUG_PCI_ACPI_IBM=m
CONFIG_HOTPLUG_PCI_CPCI=y
CONFIG_HOTPLUG_PCI_CPCI_ZT5550=m
CONFIG_HOTPLUG_PCI_CPCI_GENERIC=m
CONFIG_HOTPLUG_PCI_SHPC=m

#
# Executable file formats
#
CONFIG_BINFMT_ELF=y
# CONFIG_BINFMT_AOUT is not set
CONFIG_BINFMT_MISC=m

#
# Networking
#
CONFIG_NET=y

#
# Networking options
#
CONFIG_PACKET=m
CONFIG_PACKET_MMAP=y
CONFIG_UNIX=y
CONFIG_XFRM=y
CONFIG_XFRM_USER=m
# CONFIG_XFRM_SUB_POLICY is not set
# CONFIG_XFRM_MIGRATE is not set
CONFIG_NET_KEY=m
# CONFIG_NET_KEY_MIGRATE is not set
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_ADVANCED_ROUTER=y
CONFIG_ASK_IP_FIB_HASH=y
# CONFIG_IP_FIB_TRIE is not set
CONFIG_IP_FIB_HASH=y
CONFIG_IP_MULTIPLE_TABLES=y
CONFIG_IP_ROUTE_MULTIPATH=y
CONFIG_IP_ROUTE_VERBOSE=y
# CONFIG_IP_PNP is not set
CONFIG_NET_IPIP=m
CONFIG_NET_IPGRE=m
CONFIG_NET_IPGRE_BROADCAST=y
CONFIG_IP_MROUTE=y
CONFIG_IP_PIMSM_V1=y
CONFIG_IP_PIMSM_V2=y
# CONFIG_ARPD is not set
CONFIG_SYN_COOKIES=y
CONFIG_INET_AH=m
CONFIG_INET_ESP=m
CONFIG_INET_IPCOMP=m
CONFIG_INET_XFRM_TUNNEL=m
CONFIG_INET_TUNNEL=m
CONFIG_INET_XFRM_MODE_TRANSPORT=m
CONFIG_INET_XFRM_MODE_TUNNEL=m
CONFIG_INET_XFRM_MODE_BEET=m
CONFIG_INET_DIAG=y
CONFIG_INET_TCP_DIAG=y
# CONFIG_TCP_CONG_ADVANCED is not set
CONFIG_TCP_CONG_CUBIC=y
CONFIG_DEFAULT_TCP_CONG="cubic"
CONFIG_TCP_MD5SIG=y
CONFIG_IP_VS=m
# CONFIG_IP_VS_DEBUG is not set
CONFIG_IP_VS_TAB_BITS=12

#
# IPVS transport protocol load balancing support
#
CONFIG_IP_VS_PROTO_TCP=y
CONFIG_IP_VS_PROTO_UDP=y
CONFIG_IP_VS_PROTO_ESP=y
CONFIG_IP_VS_PROTO_AH=y

#
# IPVS scheduler
#
CONFIG_IP_VS_RR=m
CONFIG_IP_VS_WRR=m
CONFIG_IP_VS_LC=m
CONFIG_IP_VS_WLC=m
CONFIG_IP_VS_LBLC=m
CONFIG_IP_VS_LBLCR=m
CONFIG_IP_VS_DH=m
CONFIG_IP_VS_SH=m
CONFIG_IP_VS_SED=m
CONFIG_IP_VS_NQ=m

#
# IPVS application helper
#
CONFIG_IP_VS_FTP=m
CONFIG_IPV6=m
CONFIG_IPV6_PRIVACY=y
# CONFIG_IPV6_ROUTER_PREF is not set
# CONFIG_IPV6_OPTIMISTIC_DAD is not set
CONFIG_INET6_AH=m
CONFIG_INET6_ESP=m
CONFIG_INET6_IPCOMP=m
# CONFIG_IPV6_MIP6 is not set
CONFIG_INET6_XFRM_TUNNEL=m
CONFIG_INET6_TUNNEL=m
CONFIG_INET6_XFRM_MODE_TRANSPORT=m
CONFIG_INET6_XFRM_MODE_TUNNEL=m
CONFIG_INET6_XFRM_MODE_BEET=m
CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
CONFIG_IPV6_SIT=m
CONFIG_IPV6_TUNNEL=m
# CONFIG_IPV6_MULTIPLE_TABLES is not set
# CONFIG_NETLABEL is not set
CONFIG_NETWORK_SECMARK=y
CONFIG_NETFILTER=y
# CONFIG_NETFILTER_DEBUG is not set
CONFIG_BRIDGE_NETFILTER=y

#
# Core Netfilter Configuration
#
CONFIG_NETFILTER_NETLINK=m
CONFIG_NETFILTER_NETLINK_QUEUE=m
CONFIG_NETFILTER_NETLINK_LOG=m
CONFIG_NF_CONNTRACK_ENABLED=m
CONFIG_NF_CONNTRACK=m
CONFIG_NF_CT_ACCT=y
CONFIG_NF_CONNTRACK_MARK=y
CONFIG_NF_CONNTRACK_SECMARK=y
CONFIG_NF_CONNTRACK_EVENTS=y
CONFIG_NF_CT_PROTO_GRE=m
CONFIG_NF_CT_PROTO_SCTP=m
# CONFIG_NF_CT_PROTO_UDPLITE is not set
CONFIG_NF_CONNTRACK_AMANDA=m
CONFIG_NF_CONNTRACK_FTP=m
CONFIG_NF_CONNTRACK_H323=m
CONFIG_NF_CONNTRACK_IRC=m
CONFIG_NF_CONNTRACK_NETBIOS_NS=m
CONFIG_NF_CONNTRACK_PPTP=m
# CONFIG_NF_CONNTRACK_SANE is not set
CONFIG_NF_CONNTRACK_SIP=m
CONFIG_NF_CONNTRACK_TFTP=m
CONFIG_NF_CT_NETLINK=m
CONFIG_NETFILTER_XTABLES=m
CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
# CONFIG_NETFILTER_XT_TARGET_CONNMARK is not set
CONFIG_NETFILTER_XT_TARGET_DSCP=m
CONFIG_NETFILTER_XT_TARGET_MARK=m
CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
CONFIG_NETFILTER_XT_TARGET_NFLOG=m
# CONFIG_NETFILTER_XT_TARGET_NOTRACK is not set
# CONFIG_NETFILTER_XT_TARGET_TRACE is not set
CONFIG_NETFILTER_XT_TARGET_SECMARK=m
CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m
# CONFIG_NETFILTER_XT_TARGET_TCPMSS is not set
CONFIG_NETFILTER_XT_MATCH_COMMENT=m
CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
# CONFIG_NETFILTER_XT_MATCH_CONNLIMIT is not set
CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
CONFIG_NETFILTER_XT_MATCH_DCCP=m
CONFIG_NETFILTER_XT_MATCH_DSCP=m
CONFIG_NETFILTER_XT_MATCH_ESP=m
CONFIG_NETFILTER_XT_MATCH_HELPER=m
CONFIG_NETFILTER_XT_MATCH_LENGTH=m
CONFIG_NETFILTER_XT_MATCH_LIMIT=m
CONFIG_NETFILTER_XT_MATCH_MAC=m
CONFIG_NETFILTER_XT_MATCH_MARK=m
CONFIG_NETFILTER_XT_MATCH_POLICY=m
CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m
CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
CONFIG_NETFILTER_XT_MATCH_QUOTA=m
CONFIG_NETFILTER_XT_MATCH_REALM=m
CONFIG_NETFILTER_XT_MATCH_SCTP=m
CONFIG_NETFILTER_XT_MATCH_STATE=m
CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
CONFIG_NETFILTER_XT_MATCH_STRING=m
CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
# CONFIG_NETFILTER_XT_MATCH_U32 is not set
CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m

#
# IP: Netfilter Configuration
#
CONFIG_NF_CONNTRACK_IPV4=m
CONFIG_NF_CONNTRACK_PROC_COMPAT=y
CONFIG_IP_NF_QUEUE=m
CONFIG_IP_NF_IPTABLES=m
CONFIG_IP_NF_MATCH_IPRANGE=m
CONFIG_IP_NF_MATCH_TOS=m
CONFIG_IP_NF_MATCH_RECENT=m
CONFIG_IP_NF_MATCH_ECN=m
CONFIG_IP_NF_MATCH_AH=m
CONFIG_IP_NF_MATCH_TTL=m
CONFIG_IP_NF_MATCH_OWNER=m
CONFIG_IP_NF_MATCH_ADDRTYPE=m
CONFIG_IP_NF_FILTER=m
CONFIG_IP_NF_TARGET_REJECT=m
CONFIG_IP_NF_TARGET_LOG=m
CONFIG_IP_NF_TARGET_ULOG=m
CONFIG_NF_NAT=m
CONFIG_NF_NAT_NEEDED=y
CONFIG_IP_NF_TARGET_MASQUERADE=m
CONFIG_IP_NF_TARGET_REDIRECT=m
CONFIG_IP_NF_TARGET_NETMAP=m
CONFIG_IP_NF_TARGET_SAME=m
CONFIG_NF_NAT_SNMP_BASIC=m
CONFIG_NF_NAT_PROTO_GRE=m
CONFIG_NF_NAT_FTP=m
CONFIG_NF_NAT_IRC=m
CONFIG_NF_NAT_TFTP=m
CONFIG_NF_NAT_AMANDA=m
CONFIG_NF_NAT_PPTP=m
CONFIG_NF_NAT_H323=m
CONFIG_NF_NAT_SIP=m
CONFIG_IP_NF_MANGLE=m
CONFIG_IP_NF_TARGET_TOS=m
CONFIG_IP_NF_TARGET_ECN=m
CONFIG_IP_NF_TARGET_TTL=m
CONFIG_IP_NF_TARGET_CLUSTERIP=m
CONFIG_IP_NF_RAW=m
CONFIG_IP_NF_ARPTABLES=m
CONFIG_IP_NF_ARPFILTER=m
CONFIG_IP_NF_ARP_MANGLE=m

#
# IPv6: Netfilter Configuration (EXPERIMENTAL)
#
CONFIG_NF_CONNTRACK_IPV6=m
CONFIG_IP6_NF_QUEUE=m
CONFIG_IP6_NF_IPTABLES=m
CONFIG_IP6_NF_MATCH_RT=m
CONFIG_IP6_NF_MATCH_OPTS=m
CONFIG_IP6_NF_MATCH_FRAG=m
CONFIG_IP6_NF_MATCH_HL=m
CONFIG_IP6_NF_MATCH_OWNER=m
CONFIG_IP6_NF_MATCH_IPV6HEADER=m
CONFIG_IP6_NF_MATCH_AH=m
# CONFIG_IP6_NF_MATCH_MH is not set
CONFIG_IP6_NF_MATCH_EUI64=m
CONFIG_IP6_NF_FILTER=m
CONFIG_IP6_NF_TARGET_LOG=m
CONFIG_IP6_NF_TARGET_REJECT=m
CONFIG_IP6_NF_MANGLE=m
CONFIG_IP6_NF_TARGET_HL=m
CONFIG_IP6_NF_RAW=m

#
# DECnet: Netfilter Configuration
#
CONFIG_DECNET_NF_GRABULATOR=m

#
# Bridge: Netfilter Configuration
#
CONFIG_BRIDGE_NF_EBTABLES=m
CONFIG_BRIDGE_EBT_BROUTE=m
CONFIG_BRIDGE_EBT_T_FILTER=m
CONFIG_BRIDGE_EBT_T_NAT=m
CONFIG_BRIDGE_EBT_802_3=m
CONFIG_BRIDGE_EBT_AMONG=m
CONFIG_BRIDGE_EBT_ARP=m
CONFIG_BRIDGE_EBT_IP=m
CONFIG_BRIDGE_EBT_LIMIT=m
CONFIG_BRIDGE_EBT_MARK=m
CONFIG_BRIDGE_EBT_PKTTYPE=m
CONFIG_BRIDGE_EBT_STP=m
CONFIG_BRIDGE_EBT_VLAN=m
CONFIG_BRIDGE_EBT_ARPREPLY=m
CONFIG_BRIDGE_EBT_DNAT=m
CONFIG_BRIDGE_EBT_MARK_T=m
CONFIG_BRIDGE_EBT_REDIRECT=m
CONFIG_BRIDGE_EBT_SNAT=m
CONFIG_BRIDGE_EBT_LOG=m
CONFIG_BRIDGE_EBT_ULOG=m
CONFIG_IP_DCCP=m
CONFIG_INET_DCCP_DIAG=m
CONFIG_IP_DCCP_ACKVEC=y

#
# DCCP CCIDs Configuration (EXPERIMENTAL)
#
CONFIG_IP_DCCP_CCID2=m
# CONFIG_IP_DCCP_CCID2_DEBUG is not set
CONFIG_IP_DCCP_CCID3=m
CONFIG_IP_DCCP_TFRC_LIB=m
# CONFIG_IP_DCCP_CCID3_DEBUG is not set
CONFIG_IP_DCCP_CCID3_RTO=100

#
# DCCP Kernel Hacking
#
# CONFIG_IP_DCCP_DEBUG is not set
CONFIG_NET_DCCPPROBE=m
CONFIG_IP_SCTP=m
# CONFIG_SCTP_DBG_MSG is not set
# CONFIG_SCTP_DBG_OBJCNT is not set
# CONFIG_SCTP_HMAC_NONE is not set
# CONFIG_SCTP_HMAC_SHA1 is not set
CONFIG_SCTP_HMAC_MD5=y
CONFIG_TIPC=m
# CONFIG_TIPC_ADVANCED is not set
# CONFIG_TIPC_DEBUG is not set
CONFIG_ATM=y
CONFIG_ATM_CLIP=y
# CONFIG_ATM_CLIP_NO_ICMP is not set
CONFIG_ATM_LANE=m
CONFIG_ATM_MPOA=m
CONFIG_ATM_BR2684=m
# CONFIG_ATM_BR2684_IPFILTER is not set
CONFIG_BRIDGE=m
CONFIG_VLAN_8021Q=m
CONFIG_DECNET=m
# CONFIG_DECNET_ROUTER is not set
CONFIG_LLC=m
CONFIG_LLC2=m
CONFIG_IPX=m
# CONFIG_IPX_INTERN is not set
CONFIG_ATALK=m
CONFIG_DEV_APPLETALK=m
CONFIG_IPDDP=m
CONFIG_IPDDP_ENCAP=y
CONFIG_IPDDP_DECAP=y
CONFIG_X25=m
CONFIG_LAPB=m
CONFIG_ECONET=m
CONFIG_ECONET_AUNUDP=y
CONFIG_ECONET_NATIVE=y
CONFIG_WAN_ROUTER=m

#
# QoS and/or fair queueing
#
CONFIG_NET_SCHED=y
CONFIG_NET_SCH_FIFO=y

#
# Queueing/Scheduling
#
CONFIG_NET_SCH_CBQ=m
CONFIG_NET_SCH_HTB=m
CONFIG_NET_SCH_HFSC=m
CONFIG_NET_SCH_ATM=m
CONFIG_NET_SCH_PRIO=m
# CONFIG_NET_SCH_RR is not set
CONFIG_NET_SCH_RED=m
CONFIG_NET_SCH_SFQ=m
CONFIG_NET_SCH_TEQL=m
CONFIG_NET_SCH_TBF=m
CONFIG_NET_SCH_GRED=m
CONFIG_NET_SCH_DSMARK=m
CONFIG_NET_SCH_NETEM=m
CONFIG_NET_SCH_INGRESS=m

#
# Classification
#
CONFIG_NET_CLS=y
CONFIG_NET_CLS_BASIC=m
CONFIG_NET_CLS_TCINDEX=m
CONFIG_NET_CLS_ROUTE4=m
CONFIG_NET_CLS_ROUTE=y
CONFIG_NET_CLS_FW=m
CONFIG_NET_CLS_U32=m
# CONFIG_CLS_U32_PERF is not set
CONFIG_CLS_U32_MARK=y
CONFIG_NET_CLS_RSVP=m
CONFIG_NET_CLS_RSVP6=m
CONFIG_NET_EMATCH=y
CONFIG_NET_EMATCH_STACK=32
CONFIG_NET_EMATCH_CMP=m
CONFIG_NET_EMATCH_NBYTE=m
CONFIG_NET_EMATCH_U32=m
CONFIG_NET_EMATCH_META=m
CONFIG_NET_EMATCH_TEXT=m
CONFIG_NET_CLS_ACT=y
CONFIG_NET_ACT_POLICE=y
# CONFIG_NET_ACT_GACT is not set
# CONFIG_NET_ACT_MIRRED is not set
# CONFIG_NET_ACT_IPT is not set
# CONFIG_NET_ACT_PEDIT is not set
# CONFIG_NET_ACT_SIMP is not set
CONFIG_NET_CLS_POLICE=y
# CONFIG_NET_CLS_IND is not set

#
# Network testing
#
CONFIG_NET_PKTGEN=m
CONFIG_NET_TCPPROBE=m
CONFIG_HAMRADIO=y

#
# Packet Radio protocols
#
CONFIG_AX25=m
# CONFIG_AX25_DAMA_SLAVE is not set
CONFIG_NETROM=m
CONFIG_ROSE=m

#
# AX.25 network device drivers
#
CONFIG_MKISS=m
CONFIG_6PACK=m
CONFIG_BPQETHER=m
CONFIG_BAYCOM_SER_FDX=m
CONFIG_BAYCOM_SER_HDX=m
CONFIG_BAYCOM_PAR=m
CONFIG_BAYCOM_EPP=m
CONFIG_YAM=m
CONFIG_IRDA=m

#
# IrDA protocols
#
CONFIG_IRLAN=m
CONFIG_IRNET=m
CONFIG_IRCOMM=m
CONFIG_IRDA_ULTRA=y

#
# IrDA options
#
CONFIG_IRDA_CACHE_LAST_LSAP=y
CONFIG_IRDA_FAST_RR=y
CONFIG_IRDA_DEBUG=y

#
# Infrared-port device drivers
#

#
# SIR device drivers
#
CONFIG_IRTTY_SIR=m

#
# Dongle support
#
CONFIG_DONGLE=y
CONFIG_ESI_DONGLE=m
CONFIG_ACTISYS_DONGLE=m
CONFIG_TEKRAM_DONGLE=m
# CONFIG_TOIM3232_DONGLE is not set
CONFIG_LITELINK_DONGLE=m
CONFIG_MA600_DONGLE=m
CONFIG_GIRBIL_DONGLE=m
CONFIG_MCP2120_DONGLE=m
CONFIG_OLD_BELKIN_DONGLE=m
CONFIG_ACT200L_DONGLE=m
# CONFIG_KINGSUN_DONGLE is not set

#
# Old SIR device drivers
#

#
# Old Serial dongle support
#

#
# FIR device drivers
#
CONFIG_USB_IRDA=m
CONFIG_SIGMATEL_FIR=m
CONFIG_NSC_FIR=m
CONFIG_WINBOND_FIR=m
CONFIG_TOSHIBA_FIR=m
CONFIG_SMC_IRCC_FIR=m
CONFIG_ALI_FIR=m
CONFIG_VLSI_FIR=m
CONFIG_VIA_FIR=m
CONFIG_MCS_FIR=m
CONFIG_BT=m
CONFIG_BT_L2CAP=m
CONFIG_BT_SCO=m
CONFIG_BT_RFCOMM=m
CONFIG_BT_RFCOMM_TTY=y
CONFIG_BT_BNEP=m
CONFIG_BT_BNEP_MC_FILTER=y
CONFIG_BT_BNEP_PROTO_FILTER=y
CONFIG_BT_HIDP=m

#
# Bluetooth device drivers
#
CONFIG_BT_HCIUSB=m
CONFIG_BT_HCIUSB_SCO=y
CONFIG_BT_HCIUART=m
CONFIG_BT_HCIUART_H4=y
CONFIG_BT_HCIUART_BCSP=y
CONFIG_BT_HCIBCM203X=m
CONFIG_BT_HCIBPA10X=m
CONFIG_BT_HCIBFUSB=m
CONFIG_BT_HCIDTL1=m
CONFIG_BT_HCIBT3C=m
CONFIG_BT_HCIBLUECARD=m
CONFIG_BT_HCIBTUART=m
CONFIG_BT_HCIVHCI=m
CONFIG_AF_RXRPC=m
# CONFIG_AF_RXRPC_DEBUG is not set
# CONFIG_RXKAD is not set
CONFIG_FIB_RULES=y

#
# Wireless
#
CONFIG_CFG80211=m
CONFIG_WIRELESS_EXT=y
CONFIG_MAC80211=m
# CONFIG_MAC80211_DEBUGFS is not set
# CONFIG_MAC80211_DEBUG is not set
CONFIG_IEEE80211=m
# CONFIG_IEEE80211_DEBUG is not set
CONFIG_IEEE80211_CRYPT_WEP=m
CONFIG_IEEE80211_CRYPT_CCMP=m
CONFIG_IEEE80211_CRYPT_TKIP=m
CONFIG_IEEE80211_SOFTMAC=m
# CONFIG_IEEE80211_SOFTMAC_DEBUG is not set
# CONFIG_RFKILL is not set
# CONFIG_NET_9P is not set

#
# Device Drivers
#

#
# Generic Driver Options
#
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_FW_LOADER=y
# CONFIG_DEBUG_DRIVER is not set
# CONFIG_DEBUG_DEVRES is not set
# CONFIG_SYS_HYPERVISOR is not set
CONFIG_CONNECTOR=m
# CONFIG_MTD is not set
CONFIG_PARPORT=m
CONFIG_PARPORT_PC=m
CONFIG_PARPORT_SERIAL=m
CONFIG_PARPORT_PC_FIFO=y
# CONFIG_PARPORT_PC_SUPERIO is not set
CONFIG_PARPORT_PC_PCMCIA=m
# CONFIG_PARPORT_GSC is not set
CONFIG_PARPORT_AX88796=m
CONFIG_PARPORT_1284=y
CONFIG_PARPORT_NOT_PC=y
CONFIG_PNP=y
# CONFIG_PNP_DEBUG is not set

#
# Protocols
#
CONFIG_PNPACPI=y
CONFIG_BLK_DEV=y
CONFIG_BLK_DEV_FD=m
# CONFIG_PARIDE is not set
# CONFIG_BLK_CPQ_DA is not set
# CONFIG_BLK_CPQ_CISS_DA is not set
# CONFIG_BLK_DEV_DAC960 is not set
# CONFIG_BLK_DEV_UMEM is not set
# CONFIG_BLK_DEV_COW_COMMON is not set
CONFIG_BLK_DEV_LOOP=m
CONFIG_BLK_DEV_CRYPTOLOOP=m
CONFIG_BLK_DEV_NBD=m
# CONFIG_BLK_DEV_SX8 is not set
# CONFIG_BLK_DEV_UB is not set
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=65536
CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
CONFIG_CDROM_PKTCDVD=m
CONFIG_CDROM_PKTCDVD_BUFFERS=8
# CONFIG_CDROM_PKTCDVD_WCACHE is not set
CONFIG_ATA_OVER_ETH=m
CONFIG_VIRTIO_BLK=m
# CONFIG_MISC_DEVICES is not set
# CONFIG_IDE is not set

#
# SCSI device support
#
CONFIG_RAID_ATTRS=m
CONFIG_SCSI=m
CONFIG_SCSI_DMA=y
CONFIG_SCSI_TGT=m
CONFIG_SCSI_NETLINK=y
CONFIG_SCSI_PROC_FS=y

#
# SCSI support type (disk, tape, CD-ROM)
#
CONFIG_BLK_DEV_SD=m
CONFIG_CHR_DEV_ST=m
CONFIG_CHR_DEV_OSST=m
CONFIG_BLK_DEV_SR=m
# CONFIG_BLK_DEV_SR_VENDOR is not set
CONFIG_CHR_DEV_SG=m
CONFIG_CHR_DEV_SCH=m

#
# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
#
CONFIG_SCSI_MULTI_LUN=y
CONFIG_SCSI_CONSTANTS=y
CONFIG_SCSI_LOGGING=y
CONFIG_SCSI_SCAN_ASYNC=y
CONFIG_SCSI_WAIT_SCAN=m

#
# SCSI Transports
#
CONFIG_SCSI_SPI_ATTRS=m
CONFIG_SCSI_FC_ATTRS=m
CONFIG_SCSI_ISCSI_ATTRS=m
CONFIG_SCSI_SAS_ATTRS=m
CONFIG_SCSI_SAS_LIBSAS=m
# CONFIG_SCSI_SAS_ATA is not set
# CONFIG_SCSI_SAS_LIBSAS_DEBUG is not set
# CONFIG_SCSI_LOWLEVEL is not set
# CONFIG_SCSI_LOWLEVEL_PCMCIA is not set
CONFIG_ATA=m
# CONFIG_ATA_NONSTANDARD is not set
CONFIG_ATA_ACPI=y
# CONFIG_SATA_AHCI is not set
# CONFIG_SATA_SVW is not set
CONFIG_ATA_PIIX=m
# CONFIG_SATA_MV is not set
# CONFIG_SATA_NV is not set
# CONFIG_PDC_ADMA is not set
# CONFIG_SATA_QSTOR is not set
# CONFIG_SATA_PROMISE is not set
# CONFIG_SATA_SX4 is not set
# CONFIG_SATA_SIL is not set
# CONFIG_SATA_SIL24 is not set
# CONFIG_SATA_SIS is not set
# CONFIG_SATA_ULI is not set
# CONFIG_SATA_VIA is not set
# CONFIG_SATA_VITESSE is not set
# CONFIG_SATA_INIC162X is not set
# CONFIG_PATA_ALI is not set
# CONFIG_PATA_AMD is not set
# CONFIG_PATA_ARTOP is not set
# CONFIG_PATA_ATIIXP is not set
# CONFIG_PATA_CMD640_PCI is not set
# CONFIG_PATA_CMD64X is not set
# CONFIG_PATA_CS5520 is not set
# CONFIG_PATA_CS5530 is not set
# CONFIG_PATA_CS5535 is not set
# CONFIG_PATA_CYPRESS is not set
# CONFIG_PATA_EFAR is not set
CONFIG_ATA_GENERIC=m
# CONFIG_PATA_HPT366 is not set
# CONFIG_PATA_HPT37X is not set
# CONFIG_PATA_HPT3X2N is not set
# CONFIG_PATA_HPT3X3 is not set
# CONFIG_PATA_IT821X is not set
# CONFIG_PATA_IT8213 is not set
# CONFIG_PATA_JMICRON is not set
# CONFIG_PATA_TRIFLEX is not set
# CONFIG_PATA_MARVELL is not set
# CONFIG_PATA_MPIIX is not set
# CONFIG_PATA_OLDPIIX is not set
# CONFIG_PATA_NETCELL is not set
# CONFIG_PATA_NS87410 is not set
# CONFIG_PATA_OPTI is not set
# CONFIG_PATA_OPTIDMA is not set
# CONFIG_PATA_PCMCIA is not set
# CONFIG_PATA_PDC_OLD is not set
# CONFIG_PATA_RADISYS is not set
# CONFIG_PATA_RZ1000 is not set
# CONFIG_PATA_SC1200 is not set
# CONFIG_PATA_SERVERWORKS is not set
# CONFIG_PATA_PDC2027X is not set
# CONFIG_PATA_SIL680 is not set
# CONFIG_PATA_SIS is not set
# CONFIG_PATA_VIA is not set
# CONFIG_PATA_WINBOND is not set
CONFIG_MD=y
# CONFIG_BLK_DEV_MD is not set
CONFIG_BLK_DEV_DM=m
# CONFIG_DM_DEBUG is not set
CONFIG_DM_CRYPT=m
CONFIG_DM_SNAPSHOT=m
CONFIG_DM_MIRROR=m
CONFIG_DM_ZERO=m
CONFIG_DM_MULTIPATH=m
CONFIG_DM_MULTIPATH_EMC=m
# CONFIG_DM_MULTIPATH_RDAC is not set
# CONFIG_DM_DELAY is not set

#
# Fusion MPT device support
#
# CONFIG_FUSION is not set
# CONFIG_FUSION_SPI is not set
# CONFIG_FUSION_FC is not set
# CONFIG_FUSION_SAS is not set

#
# IEEE 1394 (FireWire) support
#
# CONFIG_FIREWIRE is not set
# CONFIG_IEEE1394 is not set
CONFIG_I2O=m
CONFIG_I2O_LCT_NOTIFY_ON_CHANGES=y
CONFIG_I2O_EXT_ADAPTEC=y
CONFIG_I2O_CONFIG=m
CONFIG_I2O_CONFIG_OLD_IOCTL=y
CONFIG_I2O_BUS=m
CONFIG_I2O_BLOCK=m
CONFIG_I2O_SCSI=m
CONFIG_I2O_PROC=m
# CONFIG_MACINTOSH_DRIVERS is not set
CONFIG_NETDEVICES=y
# CONFIG_NETDEVICES_MULTIQUEUE is not set
# CONFIG_IFB is not set
CONFIG_DUMMY=m
# CONFIG_BONDING is not set
# CONFIG_MACVLAN is not set
CONFIG_EQUALIZER=m
CONFIG_TUN=m
# CONFIG_NET_SB1000 is not set
# CONFIG_ARCNET is not set
# CONFIG_NET_ETHERNET is not set
CONFIG_NETDEV_1000=y
# CONFIG_ACENIC is not set
# CONFIG_DL2K is not set
# CONFIG_E1000 is not set
# CONFIG_NS83820 is not set
# CONFIG_HAMACHI is not set
# CONFIG_YELLOWFIN is not set
# CONFIG_R8169 is not set
# CONFIG_SIS190 is not set
# CONFIG_SKGE is not set
# CONFIG_SKY2 is not set
# CONFIG_SK98LIN is not set
# CONFIG_VIA_VELOCITY is not set
CONFIG_TIGON3=m
# CONFIG_BNX2 is not set
# CONFIG_QLA3XXX is not set
# CONFIG_ATL1 is not set
# CONFIG_NETDEV_10000 is not set
# CONFIG_TR is not set

#
# Wireless LAN
#
# CONFIG_WLAN_PRE80211 is not set
CONFIG_WLAN_80211=y
# CONFIG_PCMCIA_RAYCS is not set
# CONFIG_IPW2100 is not set
CONFIG_IPW2200=m
CONFIG_IPW2200_MONITOR=y
CONFIG_IPW2200_RADIOTAP=y
CONFIG_IPW2200_PROMISCUOUS=y
CONFIG_IPW2200_QOS=y
# CONFIG_IPW2200_DEBUG is not set
# CONFIG_LIBERTAS is not set
# CONFIG_AIRO is not set
# CONFIG_HERMES is not set
# CONFIG_ATMEL is not set
# CONFIG_AIRO_CS is not set
# CONFIG_PCMCIA_WL3501 is not set
# CONFIG_PRISM54 is not set
# CONFIG_USB_ZD1201 is not set
# CONFIG_RTL8187 is not set
# CONFIG_HOSTAP is not set
# CONFIG_BCM43XX is not set
# CONFIG_ZD1211RW is not set

#
# USB Network Adapters
#
# CONFIG_USB_CATC is not set
# CONFIG_USB_KAWETH is not set
# CONFIG_USB_PEGASUS is not set
# CONFIG_USB_RTL8150 is not set
# CONFIG_USB_USBNET_MII is not set
# CONFIG_USB_USBNET is not set
# CONFIG_NET_PCMCIA is not set
# CONFIG_WAN is not set
# CONFIG_ATM_DRIVERS is not set
# CONFIG_FDDI is not set
# CONFIG_HIPPI is not set
# CONFIG_PLIP is not set
CONFIG_PPP=m
CONFIG_PPP_MULTILINK=y
CONFIG_PPP_FILTER=y
CONFIG_PPP_ASYNC=m
CONFIG_PPP_SYNC_TTY=m
CONFIG_PPP_DEFLATE=m
CONFIG_PPP_BSDCOMP=m
CONFIG_PPP_MPPE=m
CONFIG_PPPOE=m
CONFIG_PPPOATM=m
# CONFIG_PPPOL2TP is not set
# CONFIG_SLIP is not set
CONFIG_SLHC=m
# CONFIG_NET_FC is not set
# CONFIG_SHAPER is not set
CONFIG_NETCONSOLE=m
CONFIG_NETPOLL=y
# CONFIG_NETPOLL_TRAP is not set
CONFIG_NET_POLL_CONTROLLER=y
CONFIG_VIRTIO_NET=m
# CONFIG_ISDN is not set
# CONFIG_PHONE is not set

#
# Input device support
#
CONFIG_INPUT=y
CONFIG_INPUT_FF_MEMLESS=m
CONFIG_INPUT_POLLDEV=m

#
# Userland interfaces
#
CONFIG_INPUT_MOUSEDEV=y
CONFIG_INPUT_MOUSEDEV_PSAUX=y
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
CONFIG_INPUT_JOYDEV=m
# CONFIG_INPUT_TSDEV is not set
CONFIG_INPUT_EVDEV=m
CONFIG_INPUT_EVBUG=m

#
# Input Device Drivers
#
CONFIG_INPUT_KEYBOARD=y
CONFIG_KEYBOARD_ATKBD=y
CONFIG_KEYBOARD_SUNKBD=m
CONFIG_KEYBOARD_LKKBD=m
CONFIG_KEYBOARD_XTKBD=m
CONFIG_KEYBOARD_NEWTON=m
CONFIG_KEYBOARD_STOWAWAY=m
CONFIG_INPUT_MOUSE=y
CONFIG_MOUSE_PS2=m
CONFIG_MOUSE_PS2_ALPS=y
CONFIG_MOUSE_PS2_LOGIPS2PP=y
CONFIG_MOUSE_PS2_SYNAPTICS=y
CONFIG_MOUSE_PS2_LIFEBOOK=y
CONFIG_MOUSE_PS2_TRACKPOINT=y
# CONFIG_MOUSE_PS2_TOUCHKIT is not set
CONFIG_MOUSE_SERIAL=m
# CONFIG_MOUSE_APPLETOUCH is not set
CONFIG_MOUSE_VSXXXAA=m
# CONFIG_INPUT_JOYSTICK is not set
# CONFIG_INPUT_TABLET is not set
# CONFIG_INPUT_TOUCHSCREEN is not set
CONFIG_INPUT_MISC=y
CONFIG_INPUT_PCSPKR=m
CONFIG_INPUT_WISTRON_BTNS=m
# CONFIG_INPUT_ATLAS_BTNS is not set
# CONFIG_INPUT_ATI_REMOTE is not set
# CONFIG_INPUT_ATI_REMOTE2 is not set
# CONFIG_INPUT_KEYSPAN_REMOTE is not set
# CONFIG_INPUT_POWERMATE is not set
# CONFIG_INPUT_YEALINK is not set
CONFIG_INPUT_UINPUT=m

#
# Hardware I/O ports
#
CONFIG_SERIO=y
CONFIG_SERIO_I8042=y
CONFIG_SERIO_SERPORT=m
CONFIG_SERIO_CT82C710=m
CONFIG_SERIO_PARKBD=m
CONFIG_SERIO_PCIPS2=m
CONFIG_SERIO_LIBPS2=y
CONFIG_SERIO_RAW=m
CONFIG_GAMEPORT=m
CONFIG_GAMEPORT_NS558=m
CONFIG_GAMEPORT_L4=m
CONFIG_GAMEPORT_EMU10K1=m
CONFIG_GAMEPORT_FM801=m

#
# Character devices
#
CONFIG_VT=y
CONFIG_VT_CONSOLE=y
CONFIG_HW_CONSOLE=y
CONFIG_VT_HW_CONSOLE_BINDING=y
CONFIG_SERIAL_NONSTANDARD=y
# CONFIG_COMPUTONE is not set
# CONFIG_ROCKETPORT is not set
# CONFIG_CYCLADES is not set
# CONFIG_DIGIEPCA is not set
# CONFIG_MOXA_INTELLIO is not set
# CONFIG_MOXA_SMARTIO is not set
# CONFIG_MOXA_SMARTIO_NEW is not set
# CONFIG_ISI is not set
# CONFIG_SYNCLINK is not set
# CONFIG_SYNCLINKMP is not set
# CONFIG_SYNCLINK_GT is not set
# CONFIG_N_HDLC is not set
# CONFIG_SPECIALIX is not set
# CONFIG_SX is not set
# CONFIG_RIO is not set
# CONFIG_STALDRV is not set

#
# Serial drivers
#
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_FIX_EARLYCON_MEM=y
CONFIG_SERIAL_8250_PCI=y
CONFIG_SERIAL_8250_PNP=y
CONFIG_SERIAL_8250_CS=m
CONFIG_SERIAL_8250_NR_UARTS=48
CONFIG_SERIAL_8250_RUNTIME_UARTS=4
CONFIG_SERIAL_8250_EXTENDED=y
CONFIG_SERIAL_8250_MANY_PORTS=y
CONFIG_SERIAL_8250_SHARE_IRQ=y
# CONFIG_SERIAL_8250_DETECT_IRQ is not set
CONFIG_SERIAL_8250_RSA=y

#
# Non-8250 serial port support
#
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_SERIAL_JSM=m
CONFIG_UNIX98_PTYS=y
CONFIG_LEGACY_PTYS=y
CONFIG_LEGACY_PTY_COUNT=256
# CONFIG_PRINTER is not set
# CONFIG_PPDEV is not set
# CONFIG_TIPAR is not set
CONFIG_HVC_DRIVER=y
CONFIG_VIRTIO_CONSOLE=y
CONFIG_IPMI_HANDLER=m
# CONFIG_IPMI_PANIC_EVENT is not set
CONFIG_IPMI_DEVICE_INTERFACE=m
CONFIG_IPMI_SI=m
CONFIG_IPMI_WATCHDOG=m
CONFIG_IPMI_POWEROFF=m
CONFIG_WATCHDOG=y
# CONFIG_WATCHDOG_NOWAYOUT is not set

#
# Watchdog Device Drivers
#
CONFIG_SOFT_WATCHDOG=m
CONFIG_ACQUIRE_WDT=m
CONFIG_ADVANTECH_WDT=m
CONFIG_ALIM1535_WDT=m
CONFIG_ALIM7101_WDT=m
CONFIG_SC520_WDT=m
CONFIG_EUROTECH_WDT=m
CONFIG_IB700_WDT=m
CONFIG_IBMASR=m
CONFIG_WAFER_WDT=m
CONFIG_I6300ESB_WDT=m
CONFIG_ITCO_WDT=m
CONFIG_ITCO_VENDOR_SUPPORT=y
CONFIG_SC1200_WDT=m
CONFIG_PC87413_WDT=m
CONFIG_60XX_WDT=m
CONFIG_SBC8360_WDT=m
CONFIG_CPU5_WDT=m
CONFIG_SMSC37B787_WDT=m
CONFIG_W83627HF_WDT=m
CONFIG_W83697HF_WDT=m
CONFIG_W83877F_WDT=m
CONFIG_W83977F_WDT=m
CONFIG_MACHZ_WDT=m
CONFIG_SBC_EPX_C3_WATCHDOG=m

#
# PCI-based Watchdog Cards
#
CONFIG_PCIPCWATCHDOG=m
CONFIG_WDTPCI=m
CONFIG_WDT_501_PCI=y

#
# USB-based Watchdog Cards
#
CONFIG_USBPCWATCHDOG=m
CONFIG_HW_RANDOM=y
CONFIG_HW_RANDOM_INTEL=m
CONFIG_HW_RANDOM_AMD=m
CONFIG_HW_RANDOM_GEODE=m
CONFIG_HW_RANDOM_VIA=m
CONFIG_NVRAM=m
CONFIG_RTC=y
# CONFIG_R3964 is not set
# CONFIG_APPLICOM is not set
# CONFIG_SONYPI is not set
CONFIG_AGP=m
# CONFIG_AGP_ALI is not set
# CONFIG_AGP_ATI is not set
# CONFIG_AGP_AMD is not set
# CONFIG_AGP_AMD64 is not set
CONFIG_AGP_INTEL=m
# CONFIG_AGP_NVIDIA is not set
# CONFIG_AGP_SIS is not set
# CONFIG_AGP_SWORKS is not set
# CONFIG_AGP_VIA is not set
# CONFIG_AGP_EFFICEON is not set
CONFIG_DRM=m
# CONFIG_DRM_TDFX is not set
# CONFIG_DRM_R128 is not set
# CONFIG_DRM_RADEON is not set
CONFIG_DRM_I810=m
CONFIG_DRM_I830=m
CONFIG_DRM_I915=m
# CONFIG_DRM_MGA is not set
# CONFIG_DRM_SIS is not set
# CONFIG_DRM_VIA is not set
# CONFIG_DRM_SAVAGE is not set

#
# PCMCIA character devices
#
# CONFIG_SYNCLINK_CS is not set
# CONFIG_CARDMAN_4000 is not set
# CONFIG_CARDMAN_4040 is not set
# CONFIG_MWAVE is not set
# CONFIG_PC8736x_GPIO is not set
# CONFIG_NSC_GPIO is not set
# CONFIG_CS5535_GPIO is not set
CONFIG_RAW_DRIVER=m
CONFIG_MAX_RAW_DEVS=256
CONFIG_HPET=y
# CONFIG_HPET_RTC_IRQ is not set
CONFIG_HPET_MMAP=y
CONFIG_HANGCHECK_TIMER=m
# CONFIG_TCG_TPM is not set
# CONFIG_TELCLOCK is not set
CONFIG_DEVPORT=y
CONFIG_I2C=m
CONFIG_I2C_BOARDINFO=y
CONFIG_I2C_CHARDEV=m

#
# I2C Algorithms
#
CONFIG_I2C_ALGOBIT=m
CONFIG_I2C_ALGOPCF=m
CONFIG_I2C_ALGOPCA=m

#
# I2C Hardware Bus support
#
# CONFIG_I2C_ALI1535 is not set
# CONFIG_I2C_ALI1563 is not set
# CONFIG_I2C_ALI15X3 is not set
# CONFIG_I2C_AMD756 is not set
# CONFIG_I2C_AMD8111 is not set
CONFIG_I2C_I801=m
CONFIG_I2C_I810=m
CONFIG_I2C_PIIX4=m
# CONFIG_I2C_NFORCE2 is not set
# CONFIG_I2C_OCORES is not set
# CONFIG_I2C_PARPORT is not set
# CONFIG_I2C_PARPORT_LIGHT is not set
# CONFIG_I2C_PROSAVAGE is not set
# CONFIG_I2C_SAVAGE4 is not set
# CONFIG_I2C_SIMTEC is not set
# CONFIG_SCx200_ACB is not set
# CONFIG_I2C_SIS5595 is not set
# CONFIG_I2C_SIS630 is not set
# CONFIG_I2C_SIS96X is not set
# CONFIG_I2C_TAOS_EVM is not set
# CONFIG_I2C_STUB is not set
# CONFIG_I2C_TINY_USB is not set
# CONFIG_I2C_VIA is not set
# CONFIG_I2C_VIAPRO is not set
# CONFIG_I2C_VOODOO3 is not set

#
# Miscellaneous I2C Chip support
#
# CONFIG_SENSORS_DS1337 is not set
# CONFIG_SENSORS_DS1374 is not set
# CONFIG_DS1682 is not set
# CONFIG_SENSORS_EEPROM is not set
# CONFIG_SENSORS_PCF8574 is not set
# CONFIG_SENSORS_PCA9539 is not set
# CONFIG_SENSORS_PCF8591 is not set
# CONFIG_SENSORS_MAX6875 is not set
# CONFIG_SENSORS_TSL2550 is not set
# CONFIG_I2C_DEBUG_CORE is not set
# CONFIG_I2C_DEBUG_ALGO is not set
# CONFIG_I2C_DEBUG_BUS is not set
# CONFIG_I2C_DEBUG_CHIP is not set

#
# SPI support
#
# CONFIG_SPI is not set
# CONFIG_SPI_MASTER is not set
# CONFIG_W1 is not set
# CONFIG_POWER_SUPPLY is not set
# CONFIG_HWMON is not set

#
# Multifunction device drivers
#
# CONFIG_MFD_SM501 is not set

#
# Multimedia devices
#
# CONFIG_VIDEO_DEV is not set
# CONFIG_DVB_CORE is not set
# CONFIG_DAB is not set

#
# Graphics support
#
CONFIG_BACKLIGHT_LCD_SUPPORT=y
CONFIG_LCD_CLASS_DEVICE=m
CONFIG_BACKLIGHT_CLASS_DEVICE=y
# CONFIG_BACKLIGHT_PROGEAR is not set

#
# Display device support
#
# CONFIG_DISPLAY_SUPPORT is not set
CONFIG_VGASTATE=m
CONFIG_VIDEO_OUTPUT_CONTROL=m
CONFIG_FB=y
CONFIG_FIRMWARE_EDID=y
CONFIG_FB_DDC=m
CONFIG_FB_CFB_FILLRECT=m
CONFIG_FB_CFB_COPYAREA=m
CONFIG_FB_CFB_IMAGEBLIT=m
# CONFIG_FB_SYS_FILLRECT is not set
# CONFIG_FB_SYS_COPYAREA is not set
# CONFIG_FB_SYS_IMAGEBLIT is not set
# CONFIG_FB_SYS_FOPS is not set
CONFIG_FB_DEFERRED_IO=y
# CONFIG_FB_SVGALIB is not set
# CONFIG_FB_MACMODES is not set
# CONFIG_FB_BACKLIGHT is not set
CONFIG_FB_MODE_HELPERS=y
CONFIG_FB_TILEBLITTING=y

#
# Frame buffer hardware drivers
#
# CONFIG_FB_CIRRUS is not set
# CONFIG_FB_PM2 is not set
# CONFIG_FB_CYBER2000 is not set
# CONFIG_FB_ARC is not set
# CONFIG_FB_ASILIANT is not set
# CONFIG_FB_IMSTT is not set
CONFIG_FB_VGA16=m
# CONFIG_FB_VESA is not set
# CONFIG_FB_IMAC is not set
# CONFIG_FB_HECUBA is not set
# CONFIG_FB_HGA is not set
# CONFIG_FB_S1D13XXX is not set
# CONFIG_FB_NVIDIA is not set
# CONFIG_FB_RIVA is not set
CONFIG_FB_I810=m
# CONFIG_FB_I810_GTF is not set
# CONFIG_FB_LE80578 is not set
CONFIG_FB_INTEL=m
# CONFIG_FB_INTEL_DEBUG is not set
CONFIG_FB_INTEL_I2C=y
# CONFIG_FB_MATROX is not set
# CONFIG_FB_RADEON is not set
# CONFIG_FB_ATY128 is not set
# CONFIG_FB_ATY is not set
# CONFIG_FB_S3 is not set
# CONFIG_FB_SAVAGE is not set
# CONFIG_FB_SIS is not set
# CONFIG_FB_NEOMAGIC is not set
# CONFIG_FB_KYRO is not set
# CONFIG_FB_3DFX is not set
# CONFIG_FB_VOODOO1 is not set
# CONFIG_FB_VT8623 is not set
# CONFIG_FB_CYBLA is not set
# CONFIG_FB_TRIDENT is not set
# CONFIG_FB_ARK is not set
# CONFIG_FB_PM3 is not set
# CONFIG_FB_GEODE is not set
# CONFIG_FB_VIRTUAL is not set

#
# Console display driver support
#
CONFIG_VGA_CONSOLE=y
# CONFIG_VGACON_SOFT_SCROLLBACK is not set
CONFIG_VIDEO_SELECT=y
CONFIG_DUMMY_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE=m
# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
# CONFIG_FONTS is not set
CONFIG_FONT_8x8=y
CONFIG_FONT_8x16=y
# CONFIG_LOGO is not set

#
# Sound
#
CONFIG_SOUND=m

#
# Advanced Linux Sound Architecture
#
CONFIG_SND=m
CONFIG_SND_TIMER=m
CONFIG_SND_PCM=m
CONFIG_SND_RAWMIDI=m
CONFIG_SND_SEQUENCER=m
CONFIG_SND_SEQ_DUMMY=m
CONFIG_SND_OSSEMUL=y
CONFIG_SND_MIXER_OSS=m
CONFIG_SND_PCM_OSS=m
CONFIG_SND_PCM_OSS_PLUGINS=y
CONFIG_SND_SEQUENCER_OSS=y
CONFIG_SND_RTCTIMER=m
CONFIG_SND_SEQ_RTCTIMER_DEFAULT=y
CONFIG_SND_DYNAMIC_MINORS=y
CONFIG_SND_SUPPORT_OLD_API=y
CONFIG_SND_VERBOSE_PROCFS=y
# CONFIG_SND_VERBOSE_PRINTK is not set
# CONFIG_SND_DEBUG is not set

#
# Generic devices
#
CONFIG_SND_MPU401_UART=m
CONFIG_SND_AC97_CODEC=m
CONFIG_SND_DUMMY=m
CONFIG_SND_VIRMIDI=m
CONFIG_SND_MTPAV=m
CONFIG_SND_MTS64=m
CONFIG_SND_SERIAL_U16550=m
CONFIG_SND_MPU401=m
# CONFIG_SND_PORTMAN2X4 is not set

#
# PCI devices
#
# CONFIG_SND_AD1889 is not set
# CONFIG_SND_ALS300 is not set
# CONFIG_SND_ALS4000 is not set
# CONFIG_SND_ALI5451 is not set
# CONFIG_SND_ATIIXP is not set
# CONFIG_SND_ATIIXP_MODEM is not set
# CONFIG_SND_AU8810 is not set
# CONFIG_SND_AU8820 is not set
# CONFIG_SND_AU8830 is not set
# CONFIG_SND_AZT3328 is not set
# CONFIG_SND_BT87X is not set
# CONFIG_SND_CA0106 is not set
# CONFIG_SND_CMIPCI is not set
# CONFIG_SND_CS4281 is not set
# CONFIG_SND_CS46XX is not set
# CONFIG_SND_CS5530 is not set
# CONFIG_SND_CS5535AUDIO is not set
# CONFIG_SND_DARLA20 is not set
# CONFIG_SND_GINA20 is not set
# CONFIG_SND_LAYLA20 is not set
# CONFIG_SND_DARLA24 is not set
# CONFIG_SND_GINA24 is not set
# CONFIG_SND_LAYLA24 is not set
# CONFIG_SND_MONA is not set
# CONFIG_SND_MIA is not set
# CONFIG_SND_ECHO3G is not set
# CONFIG_SND_INDIGO is not set
# CONFIG_SND_INDIGOIO is not set
# CONFIG_SND_INDIGODJ is not set
# CONFIG_SND_EMU10K1 is not set
# CONFIG_SND_EMU10K1X is not set
# CONFIG_SND_ENS1370 is not set
# CONFIG_SND_ENS1371 is not set
# CONFIG_SND_ES1938 is not set
# CONFIG_SND_ES1968 is not set
# CONFIG_SND_FM801 is not set
# CONFIG_SND_HDA_INTEL is not set
# CONFIG_SND_HDSP is not set
# CONFIG_SND_HDSPM is not set
# CONFIG_SND_ICE1712 is not set
# CONFIG_SND_ICE1724 is not set
CONFIG_SND_INTEL8X0=m
CONFIG_SND_INTEL8X0M=m
# CONFIG_SND_KORG1212 is not set
# CONFIG_SND_MAESTRO3 is not set
# CONFIG_SND_MIXART is not set
# CONFIG_SND_NM256 is not set
# CONFIG_SND_PCXHR is not set
# CONFIG_SND_RIPTIDE is not set
# CONFIG_SND_RME32 is not set
# CONFIG_SND_RME96 is not set
# CONFIG_SND_RME9652 is not set
# CONFIG_SND_SONICVIBES is not set
# CONFIG_SND_TRIDENT is not set
# CONFIG_SND_VIA82XX is not set
# CONFIG_SND_VIA82XX_MODEM is not set
# CONFIG_SND_VX222 is not set
# CONFIG_SND_YMFPCI is not set
CONFIG_SND_AC97_POWER_SAVE=y

#
# USB devices
#
# CONFIG_SND_USB_AUDIO is not set
# CONFIG_SND_USB_USX2Y is not set
# CONFIG_SND_USB_CAIAQ is not set

#
# PCMCIA devices
#
# CONFIG_SND_VXPOCKET is not set
# CONFIG_SND_PDAUDIOCF is not set

#
# System on Chip audio support
#
# CONFIG_SND_SOC is not set

#
# SoC Audio support for SuperH
#

#
# Open Sound System
#
# CONFIG_SOUND_PRIME is not set
CONFIG_AC97_BUS=m
CONFIG_HID_SUPPORT=y
CONFIG_HID=m
CONFIG_HID_DEBUG=y

#
# USB Input Devices
#
CONFIG_USB_HID=m
CONFIG_USB_HIDINPUT_POWERBOOK=y
# CONFIG_HID_FF is not set
CONFIG_USB_HIDDEV=y

#
# USB HID Boot Protocol drivers
#
CONFIG_USB_KBD=m
CONFIG_USB_MOUSE=m
CONFIG_USB_SUPPORT=y
CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB_ARCH_HAS_OHCI=y
CONFIG_USB_ARCH_HAS_EHCI=y
CONFIG_USB=m
# CONFIG_USB_DEBUG is not set

#
# Miscellaneous USB options
#
CONFIG_USB_DEVICEFS=y
CONFIG_USB_DEVICE_CLASS=y
# CONFIG_USB_DYNAMIC_MINORS is not set
CONFIG_USB_SUSPEND=y
# CONFIG_USB_PERSIST is not set
# CONFIG_USB_OTG is not set

#
# USB Host Controller Drivers
#
CONFIG_USB_EHCI_HCD=m
CONFIG_USB_EHCI_SPLIT_ISO=y
CONFIG_USB_EHCI_ROOT_HUB_TT=y
CONFIG_USB_EHCI_TT_NEWSCHED=y
# CONFIG_USB_ISP116X_HCD is not set
CONFIG_USB_OHCI_HCD=m
# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
CONFIG_USB_OHCI_LITTLE_ENDIAN=y
CONFIG_USB_UHCI_HCD=m
CONFIG_USB_SL811_HCD=m
CONFIG_USB_SL811_CS=m
# CONFIG_USB_R8A66597_HCD is not set

#
# USB Device Class drivers
#
CONFIG_USB_ACM=m
CONFIG_USB_PRINTER=m

#
# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
#

#
# may also be needed; see USB_STORAGE Help for more information
#
CONFIG_USB_STORAGE=m
# CONFIG_USB_STORAGE_DEBUG is not set
# CONFIG_USB_STORAGE_DATAFAB is not set
# CONFIG_USB_STORAGE_FREECOM is not set
# CONFIG_USB_STORAGE_DPCM is not set
# CONFIG_USB_STORAGE_USBAT is not set
# CONFIG_USB_STORAGE_SDDR09 is not set
# CONFIG_USB_STORAGE_SDDR55 is not set
# CONFIG_USB_STORAGE_JUMPSHOT is not set
# CONFIG_USB_STORAGE_ALAUDA is not set
# CONFIG_USB_STORAGE_KARMA is not set
CONFIG_USB_LIBUSUAL=y

#
# USB Imaging devices
#
# CONFIG_USB_MDC800 is not set
# CONFIG_USB_MICROTEK is not set
CONFIG_USB_MON=y

#
# USB port drivers
#
# CONFIG_USB_USS720 is not set

#
# USB Serial Converter support
#
# CONFIG_USB_SERIAL is not set

#
# USB Miscellaneous drivers
#
# CONFIG_USB_EMI62 is not set
# CONFIG_USB_EMI26 is not set
# CONFIG_USB_ADUTUX is not set
# CONFIG_USB_AUERSWALD is not set
# CONFIG_USB_RIO500 is not set
# CONFIG_USB_LEGOTOWER is not set
# CONFIG_USB_LCD is not set
# CONFIG_USB_BERRY_CHARGE is not set
# CONFIG_USB_LED is not set
# CONFIG_USB_CYPRESS_CY7C63 is not set
# CONFIG_USB_CYTHERM is not set
# CONFIG_USB_PHIDGET is not set
# CONFIG_USB_IDMOUSE is not set
# CONFIG_USB_FTDI_ELAN is not set
# CONFIG_USB_APPLEDISPLAY is not set
# CONFIG_USB_SISUSBVGA is not set
# CONFIG_USB_LD is not set
# CONFIG_USB_TRANCEVIBRATOR is not set
# CONFIG_USB_IOWARRIOR is not set
# CONFIG_USB_TEST is not set

#
# USB DSL modem support
#
# CONFIG_USB_ATM is not set

#
# USB Gadget Support
#
# CONFIG_USB_GADGET is not set
# CONFIG_MMC is not set
CONFIG_NEW_LEDS=y
CONFIG_LEDS_CLASS=m

#
# LED drivers
#

#
# LED Triggers
#
# CONFIG_LEDS_TRIGGERS is not set
# CONFIG_INFINIBAND is not set
CONFIG_EDAC=y

#
# Reporting subsystems
#
# CONFIG_EDAC_DEBUG is not set
CONFIG_EDAC_MM_EDAC=y
# CONFIG_EDAC_AMD76X is not set
# CONFIG_EDAC_E7XXX is not set
# CONFIG_EDAC_E752X is not set
# CONFIG_EDAC_I82875P is not set
# CONFIG_EDAC_I82975X is not set
# CONFIG_EDAC_I3000 is not set
# CONFIG_EDAC_I82860 is not set
# CONFIG_EDAC_R82600 is not set
# CONFIG_EDAC_I5000 is not set
CONFIG_RTC_LIB=m
CONFIG_RTC_CLASS=m

#
# RTC interfaces
#
CONFIG_RTC_INTF_SYSFS=y
CONFIG_RTC_INTF_PROC=y
CONFIG_RTC_INTF_DEV=y
CONFIG_RTC_INTF_DEV_UIE_EMUL=y
CONFIG_RTC_DRV_TEST=m

#
# I2C RTC drivers
#
CONFIG_RTC_DRV_DS1307=m
CONFIG_RTC_DRV_DS1672=m
CONFIG_RTC_DRV_MAX6900=m
CONFIG_RTC_DRV_RS5C372=m
CONFIG_RTC_DRV_ISL1208=m
CONFIG_RTC_DRV_X1205=m
CONFIG_RTC_DRV_PCF8563=m
CONFIG_RTC_DRV_PCF8583=m
CONFIG_RTC_DRV_M41T80=m
# CONFIG_RTC_DRV_M41T80_WDT is not set

#
# SPI RTC drivers
#

#
# Platform RTC drivers
#
CONFIG_RTC_DRV_CMOS=m
CONFIG_RTC_DRV_DS1553=m
CONFIG_RTC_DRV_STK17TA8=m
CONFIG_RTC_DRV_DS1742=m
CONFIG_RTC_DRV_M48T86=m
CONFIG_RTC_DRV_M48T59=m
CONFIG_RTC_DRV_V3020=m

#
# on-CPU RTC drivers
#

#
# DMA Engine support
#
CONFIG_DMA_ENGINE=y

#
# DMA Clients
#
CONFIG_NET_DMA=y

#
# DMA Devices
#
CONFIG_INTEL_IOATDMA=m
# CONFIG_AUXDISPLAY is not set
CONFIG_VIRTUALIZATION=y
CONFIG_KVM=m
CONFIG_KVM_INTEL=m
# CONFIG_KVM_AMD is not set
CONFIG_LGUEST=m

#
# Userspace I/O
#
# CONFIG_UIO is not set
CONFIG_VIRTIO=y
CONFIG_VIRTIO_RING=y

#
# File systems
#
CONFIG_EXT2_FS=m
CONFIG_EXT2_FS_XATTR=y
CONFIG_EXT2_FS_POSIX_ACL=y
CONFIG_EXT2_FS_SECURITY=y
# CONFIG_EXT2_FS_XIP is not set
CONFIG_EXT3_FS=m
CONFIG_EXT3_FS_XATTR=y
CONFIG_EXT3_FS_POSIX_ACL=y
CONFIG_EXT3_FS_SECURITY=y
# CONFIG_EXT4DEV_FS is not set
CONFIG_JBD=m
# CONFIG_JBD_DEBUG is not set
CONFIG_FS_MBCACHE=m
# CONFIG_REISERFS_FS is not set
# CONFIG_JFS_FS is not set
CONFIG_FS_POSIX_ACL=y
# CONFIG_XFS_FS is not set
# CONFIG_GFS2_FS is not set
# CONFIG_OCFS2_FS is not set
# CONFIG_MINIX_FS is not set
CONFIG_ROMFS_FS=m
CONFIG_INOTIFY=y
CONFIG_INOTIFY_USER=y
CONFIG_QUOTA=y
CONFIG_QFMT_V1=m
CONFIG_QFMT_V2=m
CONFIG_QUOTACTL=y
CONFIG_DNOTIFY=y
CONFIG_AUTOFS_FS=m
CONFIG_AUTOFS4_FS=m
CONFIG_FUSE_FS=m

#
# CD-ROM/DVD Filesystems
#
CONFIG_ISO9660_FS=m
CONFIG_JOLIET=y
CONFIG_ZISOFS=y
CONFIG_UDF_FS=m
CONFIG_UDF_NLS=y

#
# DOS/FAT/NT Filesystems
#
CONFIG_FAT_FS=m
# CONFIG_MSDOS_FS is not set
CONFIG_VFAT_FS=m
CONFIG_FAT_DEFAULT_CODEPAGE=437
CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
# CONFIG_NTFS_FS is not set

#
# Pseudo filesystems
#
CONFIG_PROC_FS=y
CONFIG_PROC_KCORE=y
CONFIG_PROC_VMCORE=y
CONFIG_PROC_SYSCTL=y
CONFIG_SYSFS=y
CONFIG_TMPFS=y
# CONFIG_TMPFS_POSIX_ACL is not set
# CONFIG_HUGETLBFS is not set
# CONFIG_HUGETLB_PAGE is not set
CONFIG_RAMFS=y
CONFIG_CONFIGFS_FS=m

#
# Miscellaneous filesystems
#
# CONFIG_ADFS_FS is not set
# CONFIG_AFFS_FS is not set
CONFIG_ECRYPT_FS=m
# CONFIG_HFS_FS is not set
# CONFIG_HFSPLUS_FS is not set
# CONFIG_BEFS_FS is not set
# CONFIG_BFS_FS is not set
# CONFIG_EFS_FS is not set
CONFIG_CRAMFS=y
# CONFIG_VXFS_FS is not set
# CONFIG_HPFS_FS is not set
# CONFIG_QNX4FS_FS is not set
# CONFIG_SYSV_FS is not set
# CONFIG_UFS_FS is not set

#
# Network File Systems
#
CONFIG_NFS_FS=m
CONFIG_NFS_V3=y
# CONFIG_NFS_V3_ACL is not set
CONFIG_NFS_V4=y
CONFIG_NFS_DIRECTIO=y
CONFIG_NFSD=m
CONFIG_NFSD_V3=y
# CONFIG_NFSD_V3_ACL is not set
CONFIG_NFSD_V4=y
CONFIG_NFSD_TCP=y
CONFIG_LOCKD=m
CONFIG_LOCKD_V4=y
CONFIG_EXPORTFS=m
CONFIG_NFS_COMMON=y
CONFIG_SUNRPC=m
CONFIG_SUNRPC_GSS=m
# CONFIG_SUNRPC_BIND34 is not set
CONFIG_RPCSEC_GSS_KRB5=m
# CONFIG_RPCSEC_GSS_SPKM3 is not set
CONFIG_SMB_FS=m
# CONFIG_SMB_NLS_DEFAULT is not set
CONFIG_CIFS=m
# CONFIG_CIFS_STATS is not set
# CONFIG_CIFS_WEAK_PW_HASH is not set
# CONFIG_CIFS_XATTR is not set
# CONFIG_CIFS_DEBUG2 is not set
# CONFIG_CIFS_EXPERIMENTAL is not set
# CONFIG_NCP_FS is not set
# CONFIG_CODA_FS is not set
# CONFIG_AFS_FS is not set

#
# Partition Types
#
# CONFIG_PARTITION_ADVANCED is not set
CONFIG_MSDOS_PARTITION=y

#
# Native Language Support
#
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="cp437"
CONFIG_NLS_CODEPAGE_437=m
CONFIG_NLS_CODEPAGE_737=m
CONFIG_NLS_CODEPAGE_775=m
CONFIG_NLS_CODEPAGE_850=m
CONFIG_NLS_CODEPAGE_852=m
CONFIG_NLS_CODEPAGE_855=m
CONFIG_NLS_CODEPAGE_857=m
CONFIG_NLS_CODEPAGE_860=m
CONFIG_NLS_CODEPAGE_861=m
CONFIG_NLS_CODEPAGE_862=m
CONFIG_NLS_CODEPAGE_863=m
CONFIG_NLS_CODEPAGE_864=m
CONFIG_NLS_CODEPAGE_865=m
CONFIG_NLS_CODEPAGE_866=m
CONFIG_NLS_CODEPAGE_869=m
CONFIG_NLS_CODEPAGE_936=m
CONFIG_NLS_CODEPAGE_950=m
CONFIG_NLS_CODEPAGE_932=m
CONFIG_NLS_CODEPAGE_949=m
CONFIG_NLS_CODEPAGE_874=m
CONFIG_NLS_ISO8859_8=m
CONFIG_NLS_CODEPAGE_1250=m
CONFIG_NLS_CODEPAGE_1251=m
CONFIG_NLS_ASCII=m
CONFIG_NLS_ISO8859_1=m
CONFIG_NLS_ISO8859_2=m
CONFIG_NLS_ISO8859_3=m
CONFIG_NLS_ISO8859_4=m
CONFIG_NLS_ISO8859_5=m
CONFIG_NLS_ISO8859_6=m
CONFIG_NLS_ISO8859_7=m
CONFIG_NLS_ISO8859_9=m
CONFIG_NLS_ISO8859_13=m
CONFIG_NLS_ISO8859_14=m
CONFIG_NLS_ISO8859_15=m
CONFIG_NLS_KOI8_R=m
CONFIG_NLS_KOI8_U=m
CONFIG_NLS_UTF8=m

#
# Distributed Lock Manager
#
# CONFIG_DLM is not set
CONFIG_INSTRUMENTATION=y
CONFIG_PROFILING=y
CONFIG_OPROFILE=m
CONFIG_KPROBES=y

#
# Kernel hacking
#
CONFIG_TRACE_IRQFLAGS_SUPPORT=y
CONFIG_PRINTK_TIME=y
# CONFIG_ENABLE_MUST_CHECK is not set
CONFIG_MAGIC_SYSRQ=y
CONFIG_UNUSED_SYMBOLS=y
CONFIG_DEBUG_FS=y
# CONFIG_HEADERS_CHECK is not set
CONFIG_DEBUG_KERNEL=y
# CONFIG_DEBUG_SHIRQ is not set
CONFIG_DETECT_SOFTLOCKUP=y
CONFIG_SCHED_DEBUG=y
# CONFIG_SCHEDSTATS is not set
CONFIG_TIMER_STATS=y
# CONFIG_SLUB_DEBUG_ON is not set
# CONFIG_DEBUG_RT_MUTEXES is not set
# CONFIG_RT_MUTEX_TESTER is not set
# CONFIG_DEBUG_SPINLOCK is not set
# CONFIG_DEBUG_MUTEXES is not set
# CONFIG_DEBUG_LOCK_ALLOC is not set
# CONFIG_PROVE_LOCKING is not set
# CONFIG_LOCK_STAT is not set
# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
# CONFIG_DEBUG_KOBJECT is not set
# CONFIG_DEBUG_HIGHMEM is not set
CONFIG_DEBUG_BUGVERBOSE=y
CONFIG_DEBUG_INFO=y
# CONFIG_DEBUG_VM is not set
# CONFIG_DEBUG_LIST is not set
# CONFIG_FRAME_POINTER is not set
# CONFIG_FORCED_INLINING is not set
# CONFIG_RCU_TORTURE_TEST is not set
# CONFIG_LKDTM is not set
# CONFIG_FAULT_INJECTION is not set
CONFIG_EARLY_PRINTK=y
# CONFIG_DEBUG_STACKOVERFLOW is not set
# CONFIG_DEBUG_STACK_USAGE is not set
# CONFIG_DEBUG_PAGEALLOC is not set
# CONFIG_DEBUG_RODATA is not set
# CONFIG_4KSTACKS is not set
CONFIG_X86_FIND_SMP_CONFIG=y
CONFIG_X86_MPPARSE=y
CONFIG_DOUBLEFAULT=y

#
# Security options
#
CONFIG_KEYS=y
# CONFIG_KEYS_DEBUG_PROC_KEYS is not set
CONFIG_SECURITY=y
CONFIG_SECURITY_NETWORK=y
# CONFIG_SECURITY_NETWORK_XFRM is not set
CONFIG_SECURITY_CAPABILITIES=m
CONFIG_SECURITY_ROOTPLUG=m
# CONFIG_SECURITY_SELINUX is not set
CONFIG_CRYPTO=y
CONFIG_CRYPTO_ALGAPI=y
CONFIG_CRYPTO_BLKCIPHER=m
CONFIG_CRYPTO_HASH=y
CONFIG_CRYPTO_MANAGER=y
CONFIG_CRYPTO_HMAC=y
CONFIG_CRYPTO_XCBC=m
CONFIG_CRYPTO_NULL=m
CONFIG_CRYPTO_MD4=m
CONFIG_CRYPTO_MD5=y
CONFIG_CRYPTO_SHA1=m
CONFIG_CRYPTO_SHA256=m
CONFIG_CRYPTO_SHA512=m
CONFIG_CRYPTO_WP512=m
CONFIG_CRYPTO_TGR192=m
CONFIG_CRYPTO_GF128MUL=m
CONFIG_CRYPTO_ECB=m
CONFIG_CRYPTO_CBC=m
CONFIG_CRYPTO_PCBC=m
CONFIG_CRYPTO_LRW=m
# CONFIG_CRYPTO_CRYPTD is not set
CONFIG_CRYPTO_DES=m
# CONFIG_CRYPTO_FCRYPT is not set
CONFIG_CRYPTO_BLOWFISH=m
CONFIG_CRYPTO_TWOFISH=m
CONFIG_CRYPTO_TWOFISH_COMMON=m
CONFIG_CRYPTO_TWOFISH_586=m
CONFIG_CRYPTO_SERPENT=m
CONFIG_CRYPTO_AES=m
CONFIG_CRYPTO_AES_586=m
CONFIG_CRYPTO_CAST5=m
CONFIG_CRYPTO_CAST6=m
CONFIG_CRYPTO_TEA=m
CONFIG_CRYPTO_ARC4=m
CONFIG_CRYPTO_KHAZAD=m
CONFIG_CRYPTO_ANUBIS=m
CONFIG_CRYPTO_DEFLATE=m
CONFIG_CRYPTO_MICHAEL_MIC=m
CONFIG_CRYPTO_CRC32C=m
# CONFIG_CRYPTO_CAMELLIA is not set
CONFIG_CRYPTO_TEST=m
CONFIG_CRYPTO_HW=y
CONFIG_CRYPTO_DEV_PADLOCK=m
CONFIG_CRYPTO_DEV_PADLOCK_AES=m
CONFIG_CRYPTO_DEV_PADLOCK_SHA=m
CONFIG_CRYPTO_DEV_GEODE=m

#
# Library routines
#
CONFIG_BITREVERSE=y
CONFIG_CRC_CCITT=m
CONFIG_CRC16=m
CONFIG_CRC_ITU_T=m
CONFIG_CRC32=y
# CONFIG_CRC7 is not set
CONFIG_LIBCRC32C=m
CONFIG_AUDIT_GENERIC=y
CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=m
CONFIG_TEXTSEARCH=y
CONFIG_TEXTSEARCH_KMP=m
CONFIG_TEXTSEARCH_BM=m
CONFIG_TEXTSEARCH_FSM=m
CONFIG_PLIST=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT=y
CONFIG_HAS_DMA=y
CONFIG_CHECK_SIGNATURE=y
CONFIG_GENERIC_HARDIRQS=y
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_GENERIC_PENDING_IRQ=y
CONFIG_X86_SMP=y
CONFIG_X86_HT=y
CONFIG_X86_BIOS_REBOOT=y
CONFIG_X86_TRAMPOLINE=y
CONFIG_KTIME_SCALAR=y

[-- Attachment #4: Type: text/plain, Size: 184 bytes --]

_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/virtualization

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

* Re: [PATCH 0/5] Boot protocol changes
  2007-10-04  9:47 Chris Malley
@ 2007-10-04 10:47 ` Rusty Russell
  2007-10-04 11:20   ` Chris Malley
  0 siblings, 1 reply; 25+ messages in thread
From: Rusty Russell @ 2007-10-04 10:47 UTC (permalink / raw)
  To: Chris Malley; +Cc: lguest, virtualization

On Thu, 2007-10-04 at 10:47 +0100, Chris Malley wrote:
> Hi guys
> 
> I gave these patches a try (on top of 2.6.23-rc9 plus the previously
> submitted 2.6.24 patch set).
> 
> The last two seem to cause Badness on my system, whereby if I start a
> guest (using the same bzImage as the host, as before) it seems to boot
> OK, and the host system still superficially looks stable (my X session
> is OK and I can interact with existing processes) but if I attempt to
> launch any new process on the host (even typing "ls" into a terminal
> window) I get a Segmentation fault.

I think this might actually be caused by a nasty bug in one of the
previous patches (patch 27).  I found it because every second time I
launched a guest it failed.  Strange, huh?

These lines in drivers/lguest/page_tables.c:

+               pte_t ro_gpte = gpte;
+               pte_wrprotect(ro_gpte);

Should be:

+               pte_t ro_gpte = pte_wrprotct(gpte);

That's the only "break the host" issue I know of...

Thanks!
Rusty.

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

* Re: [PATCH 0/5] Boot protocol changes
  2007-10-04 10:47 ` Rusty Russell
@ 2007-10-04 11:20   ` Chris Malley
  0 siblings, 0 replies; 25+ messages in thread
From: Chris Malley @ 2007-10-04 11:20 UTC (permalink / raw)
  To: Rusty Russell; +Cc: lguest, virtualization

On Thu, 2007-10-04 at 20:47 +1000, Rusty Russell wrote:
> On Thu, 2007-10-04 at 10:47 +0100, Chris Malley wrote:
> > Hi guys
> > 
> > I gave these patches a try (on top of 2.6.23-rc9 plus the previously
> > submitted 2.6.24 patch set).
> > 
> > The last two seem to cause Badness on my system, whereby if I start a
> > guest (using the same bzImage as the host, as before) it seems to boot
> > OK, and the host system still superficially looks stable (my X session
> > is OK and I can interact with existing processes) but if I attempt to
> > launch any new process on the host (even typing "ls" into a terminal
> > window) I get a Segmentation fault.
> 
> I think this might actually be caused by a nasty bug in one of the
> previous patches (patch 27).  I found it because every second time I
> launched a guest it failed.  Strange, huh?
> 
> These lines in drivers/lguest/page_tables.c:
> 
> +               pte_t ro_gpte = gpte;
> +               pte_wrprotect(ro_gpte);
> 
> Should be:
> 
> +               pte_t ro_gpte = pte_wrprotct(gpte);
just being pedantic I assume you mean:
  +               pte_t ro_gpte = pte_wrprotect(gpte);

> That's the only "break the host" issue I know of...
> 
> Thanks!
> Rusty.

Yep, that fixes it, thanks Rusty!

--
Chris

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

* Re: [PATCH 1/5] update boot spec to 2.07
  2007-10-02 23:35 ` [PATCH 1/5] update boot spec to 2.07 Rusty Russell
  2007-10-02 23:35   ` [PATCH 2/5] add WEAK() for creating weak asm labels Rusty Russell
@ 2007-10-30  6:38   ` rae l
  1 sibling, 0 replies; 25+ messages in thread
From: rae l @ 2007-10-30  6:38 UTC (permalink / raw)
  To: Rusty Russell
  Cc: lkml - Kernel Mailing List, Jeremy Fitzhardinge, H. Peter Anvin,
	Vivek Goyal, lguest, Eric W. Biederman

On 10/3/07, Rusty Russell <rusty@rustcorp.com.au> wrote:
> Proposed updates for version 2.07 of the boot protocol.  This includes:
>
...
> Signed-off-by: Jeremy Fitzhardinge < jeremy@xensource.com>
> Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
> Cc: "Eric W. Biederman" < ebiederm@xmission.com>
> Cc: H. Peter Anvin <hpa@zytor.com>
> Cc: Vivek Goyal <vgoyal@in.ibm.com >
>
> ---
>  Documentation/i386/boot.txt    |   34
Sugguestion is you also add an entry to the header of the file
(Documentation/i386/boot.txt):

something like this:

diff --git a/Documentation/i386/boot.txt b/Documentation/i386/boot.txt
index fc49b79..645bbd7 100644
--- a/Documentation/i386/boot.txt
+++ b/Documentation/i386/boot.txt
@@ -42,6 +42,9 @@ Protocol 2.05:	(Kernel 2.6.20) Make protected mode
kernel relocatable.
 Protocol 2.06:	(Kernel 2.6.22) Added a field that contains the size of
 		the boot command line

+Protocol 2.07:	(Kernel 2.6.23) Added two fields hardware_subarch and
+		hardware_subarch_data to describe the paravirtualized
+		environment.

 **** MEMORY LAYOUT

-- 
Denis Cheng
Linux Application Developer

"One of my most productive days was throwing away 1000 lines of code."
 - Ken Thompson.

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

* Re: [PATCH 5/5] lguest: loading bzImage directly
  2007-10-04  0:02             ` Rusty Russell
  2007-10-04  0:26               ` H. Peter Anvin
@ 2007-11-24 21:54               ` Kjartan Maraas
  2007-11-24 22:14                 ` H. Peter Anvin
  1 sibling, 1 reply; 25+ messages in thread
From: Kjartan Maraas @ 2007-11-24 21:54 UTC (permalink / raw)
  To: Rusty Russell
  Cc: Chris Malley, lkml - Kernel Mailing List, Jeremy Fitzhardinge,
	lguest, James Bottomley, Vivek Goyal, Eric W. Biederman,
	H. Peter Anvin, Stephen Rothwell


to., 04.10.2007 kl. 10.02 +1000, skrev Rusty Russell:
> On Wed, 2007-10-03 at 10:37 +0100, Chris Malley wrote:
> > Hi guys
> > 
> > Would it not be clearer to #include <asm/bootparam.h> and use 
> > the relevant named members of struct setup_header / struct boot_params
> > rather than the hard-coded values 0x202, 0x1F1, 0x214 ?
> 
> Yes, but unfortunately bootparam.h wasn't designed to be included from
> userspace.
> 
[snip]

This change seems to have broken build of the battstat applet in
gnome-applets or rather the included apmlib in there. Intended?

Any pointers on how to adapt the code in case it was?

> diff -r 6bb527d113a8 include/linux/apm_bios.h
> --- a/include/linux/apm_bios.h	Wed Oct 03 13:49:31 2007 +1000
> +++ b/include/linux/apm_bios.h	Thu Oct 04 09:37:28 2007 +1000
> @@ -16,28 +16,28 @@
>   * General Public License for more details.
>   */
>  
> +#include <linux/types.h>
> +
> +struct apm_bios_info {
> +	__u16	version;
> +	__u16	cseg;
> +	__u32	offset;
> +	__u16	cseg_16;
> +	__u16	dseg;
> +	__u16	flags;
> +	__u16	cseg_len;
> +	__u16	cseg_16_len;
> +	__u16	dseg_len;
> +};
> +
> +#ifdef __KERNEL__
> +
>  typedef unsigned short	apm_event_t;
>  typedef unsigned short	apm_eventinfo_t;
> -
> -#ifdef __KERNEL__
> -
> -#include <linux/types.h>
>  
>  #define APM_CS		(GDT_ENTRY_APMBIOS_BASE * 8)
>  #define APM_CS_16	(APM_CS + 8)
>  #define APM_DS		(APM_CS_16 + 8)
> -
> -struct apm_bios_info {
> -	u16	version;
> -	u16	cseg;
> -	u32	offset;
> -	u16	cseg_16;
> -	u16	dseg;
> -	u16	flags;
> -	u16	cseg_len;
> -	u16	cseg_16_len;
> -	u16	dseg_len;
> -};
>  
>  /* Results of APM Installation Check */
>  #define APM_16_BIT_SUPPORT	0x0001

Cheers
Kjartan



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

* Re: [PATCH 5/5] lguest: loading bzImage directly
  2007-11-24 21:54               ` Kjartan Maraas
@ 2007-11-24 22:14                 ` H. Peter Anvin
  2007-11-25 12:32                   ` Kjartan Maraas
  0 siblings, 1 reply; 25+ messages in thread
From: H. Peter Anvin @ 2007-11-24 22:14 UTC (permalink / raw)
  To: Kjartan Maraas
  Cc: Rusty Russell, Chris Malley, lkml - Kernel Mailing List,
	Jeremy Fitzhardinge, lguest, James Bottomley, Vivek Goyal,
	Eric W. Biederman, Stephen Rothwell

Kjartan Maraas wrote:
> to., 04.10.2007 kl. 10.02 +1000, skrev Rusty Russell:
>> On Wed, 2007-10-03 at 10:37 +0100, Chris Malley wrote:
>>> Hi guys
>>>
>>> Would it not be clearer to #include <asm/bootparam.h> and use 
>>> the relevant named members of struct setup_header / struct boot_params
>>> rather than the hard-coded values 0x202, 0x1F1, 0x214 ?
>> Yes, but unfortunately bootparam.h wasn't designed to be included from
>> userspace.
>>
> [snip]
> 
> This change seems to have broken build of the battstat applet in
> gnome-applets or rather the included apmlib in there. Intended?
> 
> Any pointers on how to adapt the code in case it was?
> 

Perhaps you could actually give some detail how it broke the code?!

	-hpa

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

* Re: [PATCH 5/5] lguest: loading bzImage directly
  2007-11-24 22:14                 ` H. Peter Anvin
@ 2007-11-25 12:32                   ` Kjartan Maraas
  0 siblings, 0 replies; 25+ messages in thread
From: Kjartan Maraas @ 2007-11-25 12:32 UTC (permalink / raw)
  To: H. Peter Anvin
  Cc: Rusty Russell, Chris Malley, lkml - Kernel Mailing List,
	Jeremy Fitzhardinge, lguest, James Bottomley, Vivek Goyal,
	Eric W. Biederman, Stephen Rothwell


lø., 24.11.2007 kl. 14.14 -0800, skrev H. Peter Anvin:
> Kjartan Maraas wrote:
> > to., 04.10.2007 kl. 10.02 +1000, skrev Rusty Russell:
> >> On Wed, 2007-10-03 at 10:37 +0100, Chris Malley wrote:
> >>> Hi guys
> >>>
> >>> Would it not be clearer to #include <asm/bootparam.h> and use 
> >>> the relevant named members of struct setup_header / struct boot_params
> >>> rather than the hard-coded values 0x202, 0x1F1, 0x214 ?
> >> Yes, but unfortunately bootparam.h wasn't designed to be included from
> >> userspace.
> >>
> > [snip]
> > 
> > This change seems to have broken build of the battstat applet in
> > gnome-applets or rather the included apmlib in there. Intended?
> > 
> > Any pointers on how to adapt the code in case it was?
> > 
> 
> Perhaps you could actually give some detail how it broke the code?!
> 
Sorry for being terse. It looks to me like apm_event_t is gone, and that
breaks this bit of code:

Making all in apmlib
make[1]: Entering directory
`/home/kmaraas/cvs/gnome/gnome-applets/battstat/apmlib'
gcc -DHAVE_CONFIG_H -I. -I../.. -I../.. -I../../apmlib -DORBIT2=1
-pthread -I/opt/gnome2/include/panel-2.0 -I/opt/gnome2/include/gtk-2.0
-I/opt/gnome2/include/libgnomeui-2.0
-I/opt/gnome2/include/libbonoboui-2.0 -I/opt/gnome2/lib/gtk-2.0/include
-I/opt/gnome2/include/atk-1.0 -I/opt/gnome2/include/cairo
-I/opt/gnome2/include/pango-1.0 -I/opt/gnome2/include/glib-2.0
-I/opt/gnome2/lib/glib-2.0/include -I/opt/gnome2/include/libgnome-2.0
-I/opt/gnome2/include/libgnomecanvas-2.0
-I/opt/gnome2/include/gnome-vfs-2.0
-I/opt/gnome2/lib/gnome-vfs-2.0/include
-I/opt/gnome2/include/libbonobo-2.0 -I/opt/gnome2/include/orbit-2.0
-I/opt/gnome2/include/bonobo-activation-2.0
-I/opt/gnome2/include/libart-2.0 -I/opt/gnome2/include/gconf/2
-DG_LOG_DOMAIN=\"battstat_applet\"  -Wall -g -O0 -D_FORTIFY_SOURCE=2
-Wall -g -O0 -D_FORTIFY_SOURCE=2 -MT apmlib.o -MD -MP
-MF .deps/apmlib.Tpo -c -o apmlib.o apmlib.c
In file included from apmlib.c:32:
apm.h:56: error: expected declaration specifiers or ‘...’ before
‘apm_event_t’
apm.h:63: error: expected ‘)’ before ‘event’
apmlib.c:243: error: expected declaration specifiers or ‘...’ before
‘apm_event_t’
apmlib.c: In function ‘apm_get_events’:
apmlib.c:257: error: ‘events’ undeclared (first use in this function)
apmlib.c:257: error: (Each undeclared identifier is reported only once
apmlib.c:257: error: for each function it appears in.)
apmlib.c:257: error: ‘apm_event_t’ undeclared (first use in this
function)
apmlib.c:258: warning: control reaches end of non-void function
apmlib.c: At top level:
apmlib.c:366: error: expected ‘)’ before ‘event’
make[1]: *** [apmlib.o] Error 1
make[1]: Leaving directory
`/home/kmaraas/cvs/gnome/gnome-applets/battstat/apmlib'
make: *** [all-recursive] Error 1

Cheers
Kjartan



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

end of thread, other threads:[~2007-11-25 12:32 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-10-02 23:34 [PATCH 0/5] Boot protocol changes Rusty Russell
2007-10-02 23:35 ` [PATCH 1/5] update boot spec to 2.07 Rusty Russell
2007-10-02 23:35   ` [PATCH 2/5] add WEAK() for creating weak asm labels Rusty Russell
2007-10-02 23:36     ` [PATCH 3/5] i386: paravirt boot sequence Rusty Russell
2007-10-02 23:39       ` [PATCH 4/5] Revert lguest magic and use hook in head.S Rusty Russell
2007-10-02 23:40         ` [PATCH 5/5] lguest: loading bzImage directly Rusty Russell
2007-10-03  9:37           ` Chris Malley
2007-10-03 17:12             ` H. Peter Anvin
2007-10-04  0:02             ` Rusty Russell
2007-10-04  0:26               ` H. Peter Anvin
2007-11-24 21:54               ` Kjartan Maraas
2007-11-24 22:14                 ` H. Peter Anvin
2007-11-25 12:32                   ` Kjartan Maraas
2007-10-30  6:38   ` [PATCH 1/5] update boot spec to 2.07 rae l
2007-10-02 23:44 ` [PATCH 0/5] Boot protocol changes H. Peter Anvin
2007-10-02 23:46 ` Jeremy Fitzhardinge
2007-10-02 23:53   ` H. Peter Anvin
2007-10-02 23:56     ` Jeremy Fitzhardinge
2007-10-03  0:43       ` H. Peter Anvin
2007-10-03  0:46         ` H. Peter Anvin
2007-10-03  0:58         ` Jeremy Fitzhardinge
2007-10-03  1:03           ` H. Peter Anvin
  -- strict thread matches above, loose matches on Subject: below --
2007-10-04  9:47 Chris Malley
2007-10-04 10:47 ` Rusty Russell
2007-10-04 11:20   ` Chris Malley

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.