Re: [PATCH] cleanup in EFI Linux loader

2008-08-18 Thread Robert Millan
On Mon, Aug 18, 2008 at 06:21:10PM +0200, Stefan Reinauer wrote:
> Robert Millan wrote:
> > On Sun, Aug 17, 2008 at 10:35:38PM +0200, Robert Millan wrote:
> >   
> >> -  grub_printf ("   [Linux-EFI, setup=0x%x, size=0x%x]\n",
> >> +  grub_printf ("   [Linux, setup=0x%x, size=0x%x]\n",
> >> 
> >
> > I looked at the other Linux loaders, and to be consistent this would have to
> > be "Linux-bzImage" instead.  I propose using that then
> What about printing the Linux version number there?

Not bad.  If we do this, I suppose we'll also want to do the same for the
other Linux loaders.

What does everyone think?

-- 
Robert Millan

  The DRM opt-in fallacy: "Your data belongs to us. We will decide when (and
  how) you may access your data; but nobody's threatening your freedom: we
  still allow you to remove your data and not access it at all."


___
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel


Re: [PATCH] cleanup in EFI Linux loader

2008-08-18 Thread Stefan Reinauer
Robert Millan wrote:
> On Sun, Aug 17, 2008 at 10:35:38PM +0200, Robert Millan wrote:
>   
>> -  grub_printf ("   [Linux-EFI, setup=0x%x, size=0x%x]\n",
>> +  grub_printf ("   [Linux, setup=0x%x, size=0x%x]\n",
>> 
>
> I looked at the other Linux loaders, and to be consistent this would have to
> be "Linux-bzImage" instead.  I propose using that then
What about printing the Linux version number there?



-- 
coresystems GmbH • Brahmsstr. 16 • D-79104 Freiburg i. Br.
  Tel.: +49 761 7668825 • Fax: +49 761 7664613
Email: [EMAIL PROTECTED]  • http://www.coresystems.de/
Registergericht: Amtsgericht Freiburg • HRB 7656
Geschäftsführer: Stefan Reinauer • Ust-IdNr.: DE245674866



___
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel


Re: [PATCH] cleanup in EFI Linux loader

2008-08-18 Thread Robert Millan
On Mon, Aug 18, 2008 at 06:57:44PM +0800, Bean wrote:
> On Mon, Aug 18, 2008 at 4:42 AM, Robert Millan <[EMAIL PROTECTED]> wrote:
> > On Sun, Aug 17, 2008 at 10:35:38PM +0200, Robert Millan wrote:
> >> -  grub_printf ("   [Linux-EFI, setup=0x%x, size=0x%x]\n",
> >> +  grub_printf ("   [Linux, setup=0x%x, size=0x%x]\n",
> >
> > I looked at the other Linux loaders, and to be consistent this would have to
> > be "Linux-bzImage" instead.  I propose using that then.
> 
> Hi,
> 
> I check it with my macbook, the linux loader is still working with this patch.

Thanks for the test.  I'm checking it in.

-- 
Robert Millan

  The DRM opt-in fallacy: "Your data belongs to us. We will decide when (and
  how) you may access your data; but nobody's threatening your freedom: we
  still allow you to remove your data and not access it at all."


___
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel


Re: [PATCH] cleanup in EFI Linux loader

2008-08-18 Thread Bean
On Mon, Aug 18, 2008 at 4:42 AM, Robert Millan <[EMAIL PROTECTED]> wrote:
> On Sun, Aug 17, 2008 at 10:35:38PM +0200, Robert Millan wrote:
>> -  grub_printf ("   [Linux-EFI, setup=0x%x, size=0x%x]\n",
>> +  grub_printf ("   [Linux, setup=0x%x, size=0x%x]\n",
>
> I looked at the other Linux loaders, and to be consistent this would have to
> be "Linux-bzImage" instead.  I propose using that then.

Hi,

I check it with my macbook, the linux loader is still working with this patch.

-- 
Bean


___
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel


Re: [PATCH] cleanup in EFI Linux loader

2008-08-18 Thread Guy Forssman
Hi Robert,

I don't have real apple gear, but I can boot already EFI on a GPT partition on 
my PC laptop
If you would like me tot test, please tell me how to proceed

Guy Forssman
>- Oorspronkelijk bericht -
>Van: Robert Millan [mailto:[EMAIL PROTECTED]
>Verzonden: zondag, augustus 17, 2008 10:42 PM
>Aan: grub-devel@gnu.org
>Onderwerp: Re: [PATCH] cleanup in EFI Linux loader
>
>On Sun, Aug 17, 2008 at 10:35:38PM +0200, Robert Millan wrote:
>> -  grub_printf ("   [Linux-EFI, setup=0x%x, size=0x%x]\n",
>> +  grub_printf ("   [Linux, setup=0x%x, size=0x%x]\n",
>
>I looked at the other Linux loaders, and to be consistent this would have to
>be "Linux-bzImage" instead.  I propose using that then.
>
>-- 
>Robert Millan
>
>  The DRM opt-in fallacy: "Your data belongs to us. We will decide when (and
>  how) you may access your data; but nobody's threatening your freedom: we
>  still allow you to remove your data and not access it at all."
>
>
>___
>Grub-devel mailing list
>Grub-devel@gnu.org
>http://lists.gnu.org/mailman/listinfo/grub-devel
>
>




___
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel


Re: [PATCH] cleanup in EFI Linux loader

2008-08-17 Thread Robert Millan
On Sun, Aug 17, 2008 at 10:35:38PM +0200, Robert Millan wrote:
> -  grub_printf ("   [Linux-EFI, setup=0x%x, size=0x%x]\n",
> +  grub_printf ("   [Linux, setup=0x%x, size=0x%x]\n",

I looked at the other Linux loaders, and to be consistent this would have to
be "Linux-bzImage" instead.  I propose using that then.

-- 
Robert Millan

  The DRM opt-in fallacy: "Your data belongs to us. We will decide when (and
  how) you may access your data; but nobody's threatening your freedom: we
  still allow you to remove your data and not access it at all."


___
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel


[PATCH] cleanup in EFI Linux loader

2008-08-17 Thread Robert Millan

Hi,

I've been working on a pure 32-bit Linux loader that is firmware-agnostic
and can be used on coreboot (and probably others later on).  I used the EFI
Linux loader as a base.

Due to the large amount of changes, and the way EFI operates (in which it
retains control of memory management, much differently than all other
platforms), I don't think it will be possible to maintain a single loader
that can work on both EFI & the rest (unless drastic changes were performed
to the EFI port).

So I will propose to add a separate loader.  I'll send a new mail about
that later, but first I'd like to see if a few of the changes can be
harmonized with the current EFI loader, so that the code doesn't differ
so much.

I'm attaching a patch with a few minor changes that will make it easier
to move code back & forth in the future.

Since I have no EFI setup to test with, would be nice if it can be tested
as well as reviewed.

-- 
Robert Millan

  The DRM opt-in fallacy: "Your data belongs to us. We will decide when (and
  how) you may access your data; but nobody's threatening your freedom: we
  still allow you to remove your data and not access it at all."
2008-08-17  Robert Millan  <[EMAIL PROTECTED]>

	* include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
	(LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
	(LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
	(LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
	(LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
	New macros.
	(GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
	* loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
	(GRUB_LINUX_CL_END_OFFSET): ... to here.
	* loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
	(GRUB_LINUX_CL_OFFSET): ... this.  Update all users.
	(GRUB_EFI_CL_END_OFFSET): Rename to ...
	(GRUB_LINUX_CL_END_OFFSET): ... this.  Update all users.
	(grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
	Initialize `params->video_cursor_x' and `params->video_cursor_y'
	portably using grub_getxy().
	Remove '-EFI' suffix from boot message.

Index: include/grub/i386/linux.h
===
--- include/grub/i386/linux.h	(revision 1817)
+++ include/grub/i386/linux.h	(working copy)
@@ -39,8 +39,6 @@
 #define GRUB_LINUX_VID_MODE_EXTENDED	0xFFFE
 #define GRUB_LINUX_VID_MODE_ASK		0xFFFD
 
-#define GRUB_LINUX_CL_OFFSET		0x9000
-#define GRUB_LINUX_CL_END_OFFSET	0x90FF
 #define GRUB_LINUX_SETUP_MOVE_SIZE	0x9100
 #define GRUB_LINUX_CL_MAGIC		0xA33F
 
@@ -104,6 +102,17 @@ struct linux_kernel_header
   grub_uint16_t start_sys;		/* The load-low segment (obsolete) */
   grub_uint16_t kernel_version;		/* Points to kernel version string */
   grub_uint8_t type_of_loader;		/* Boot loader identifier */
+#define LINUX_LOADER_ID_LILO		0x0
+#define LINUX_LOADER_ID_LOADLIN		0x1
+#define LINUX_LOADER_ID_BOOTSECT	0x2
+#define LINUX_LOADER_ID_SYSLINUX	0x3
+#define LINUX_LOADER_ID_ETHERBOOT	0x4
+#define LINUX_LOADER_ID_ELILO		0x5
+#define LINUX_LOADER_ID_GRUB		0x7
+#define LINUX_LOADER_ID_UBOOT		0x8
+#define LINUX_LOADER_ID_XEN		0x9
+#define LINUX_LOADER_ID_GUJIN		0xa
+#define LINUX_LOADER_ID_QEMU		0xb
   grub_uint8_t loadflags;		/* Boot protocol option flags */
   grub_uint16_t setup_move_size;	/* Move to high memory size */
   grub_uint32_t code32_start;		/* Boot loader hook */
Index: loader/i386/pc/linux.c
===
--- loader/i386/pc/linux.c	(revision 1817)
+++ loader/i386/pc/linux.c	(working copy)
@@ -31,6 +31,9 @@
 #include 
 #include 
 
+#define GRUB_LINUX_CL_OFFSET		0x9000
+#define GRUB_LINUX_CL_END_OFFSET	0x90FF
+
 static grub_dl_t my_mod;
 
 static grub_size_t linux_mem_size;
Index: loader/i386/efi/linux.c
===
--- loader/i386/efi/linux.c	(revision 1817)
+++ loader/i386/efi/linux.c	(working copy)
@@ -1,6 +1,6 @@
 /*
  *  GRUB  --  GRand Unified Bootloader
- *  Copyright (C) 2006,2007  Free Software Foundation, Inc.
+ *  Copyright (C) 2006,2007,2008  Free Software Foundation, Inc.
  *
  *  GRUB is free software: you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
@@ -33,8 +33,8 @@
 #include 
 #include 
 
-#define GRUB_EFI_CL_OFFSET	0x1000
-#define GRUB_EFI_CL_END_OFFSET	0x2000
+#define GRUB_LINUX_CL_OFFSET		0x1000
+#define GRUB_LINUX_CL_END_OFFSET	0x2000
 
 #define NEXT_MEMORY_DESCRIPTOR(desc, size)  \
   ((grub_efi_memory_descriptor_t *) ((char *) (desc) + (size)))
@@ -166,7 +166,7 @@ allocate_pages (grub_size_t prot_size)
   grub_size_t real_size;
   
   /* Make sure that each size is aligned to a page boundary.  */
-  real_size = GRUB_EFI_CL_END_OFFSET;
+  real_size = GRUB_LINUX_CL_END_OFFSET;
   prot_size = page_align (prot_size);
   mmap_size = find_mmap_size ();
 
@@ -634,7 +634,7 @@ grub_rescue_cmd_linux (int argc, char *a
 goto fail;
   
   params = (