* [PATCH] Patch for the open hackware
@ 2008-06-17 15:44 Bean
2008-06-17 16:02 ` Pavel Roskin
2008-06-17 17:39 ` Robert Millan
0 siblings, 2 replies; 9+ messages in thread
From: Bean @ 2008-06-17 15:44 UTC (permalink / raw)
To: The development of GRUB 2
[-- Attachment #1: Type: text/plain, Size: 393 bytes --]
Hi,
This patch fix a few problem regarding the open hackware
implementation of qemu-ppc:
1, halts when calling grub_ieee1275_interpret
Add new flag GRUB_IEEE1275_FLAG_CANNOT_INTERPRET
2, no memory map, which cause out of memory error
Add new flag GRUB_IEEE1275_FLAG_FORCE_CLAIM, just claim what we need.
3. Can't understand ansi sequence.
Add new flag GRUB_IEEE1275_FLAG_NO_ANSI
--
Bean
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: ohw.diff --]
[-- Type: text/x-diff; name=ohw.diff, Size: 3561 bytes --]
diff --git a/include/grub/ieee1275/ieee1275.h b/include/grub/ieee1275/ieee1275.h
index 5c06025..e73c516 100644
--- a/include/grub/ieee1275/ieee1275.h
+++ b/include/grub/ieee1275/ieee1275.h
@@ -89,6 +89,15 @@ enum grub_ieee1275_flag
/* Open Hack'Ware stops when trying to set colors */
GRUB_IEEE1275_FLAG_CANNOT_SET_COLORS,
+
+ /* Open Hack'Ware stops when grub_ieee1275_interpret is used. */
+ GRUB_IEEE1275_FLAG_CANNOT_INTERPRET,
+
+ /* Open Hack'Ware has no memory map, just claim what we need. */
+ GRUB_IEEE1275_FLAG_FORCE_CLAIM,
+
+ /* Open Hack'Ware don't support the ANSI sequence. */
+ GRUB_IEEE1275_FLAG_NO_ANSI,
};
extern int EXPORT_FUNC(grub_ieee1275_test_flag) (enum grub_ieee1275_flag flag);
diff --git a/kern/ieee1275/cmain.c b/kern/ieee1275/cmain.c
index 54a52b6..b5e2ba6 100644
--- a/kern/ieee1275/cmain.c
+++ b/kern/ieee1275/cmain.c
@@ -144,6 +144,9 @@ grub_ieee1275_find_options (void)
{
grub_ieee1275_set_flag (GRUB_IEEE1275_FLAG_BROKEN_OUTPUT);
grub_ieee1275_set_flag (GRUB_IEEE1275_FLAG_CANNOT_SET_COLORS);
+ grub_ieee1275_set_flag (GRUB_IEEE1275_FLAG_CANNOT_INTERPRET);
+ grub_ieee1275_set_flag (GRUB_IEEE1275_FLAG_FORCE_CLAIM);
+ grub_ieee1275_set_flag (GRUB_IEEE1275_FLAG_NO_ANSI);
}
}
}
diff --git a/kern/ieee1275/ieee1275.c b/kern/ieee1275/ieee1275.c
index 135b30e..2605901 100644
--- a/kern/ieee1275/ieee1275.c
+++ b/kern/ieee1275/ieee1275.c
@@ -390,6 +390,9 @@ grub_ieee1275_interpret (const char *command, grub_ieee1275_cell_t *catch)
}
args;
+ if (grub_ieee1275_test_flag (GRUB_IEEE1275_FLAG_CANNOT_INTERPRET))
+ return -1;
+
INIT_IEEE1275_COMMON (&args.common, "interpret", 1, 1);
args.command = (grub_ieee1275_cell_t) command;
diff --git a/kern/ieee1275/init.c b/kern/ieee1275/init.c
index b8f414b..93c0e68 100644
--- a/kern/ieee1275/init.c
+++ b/kern/ieee1275/init.c
@@ -171,7 +171,23 @@ static void grub_claim_heap (void)
return 0;
}
- grub_available_iterate (heap_init);
+ if (grub_ieee1275_test_flag (GRUB_IEEE1275_FLAG_CANNOT_INTERPRET))
+ {
+ grub_addr_t addr;
+ grub_uint32_t len;
+
+ addr = HEAP_MAX_ADDR - HEAP_MIN_SIZE;
+ len = HEAP_MIN_SIZE;
+
+ if (grub_claimmap (addr, len) < 0)
+ return grub_error (GRUB_ERR_OUT_OF_MEMORY,
+ "Failed to claim heap at 0x%llx, len 0x%llx\n",
+ addr, len);
+
+ grub_mm_init_region ((void *) addr, len);
+ }
+ else
+ grub_available_iterate (heap_init);
}
#ifdef __i386__
diff --git a/term/ieee1275/ofconsole.c b/term/ieee1275/ofconsole.c
index 3b269ce..b9206a8 100644
--- a/term/ieee1275/ofconsole.c
+++ b/term/ieee1275/ofconsole.c
@@ -287,8 +287,11 @@ grub_ofconsole_gotoxy (grub_uint8_t x, grub_uint8_t y)
grub_curr_x = x;
grub_curr_y = y;
- grub_sprintf (s, "\e[%d;%dH", y + 1, x + 1);
- grub_ofconsole_writeesc (s);
+ if (! grub_ieee1275_test_flag (GRUB_IEEE1275_FLAG_NO_ANSI))
+ {
+ grub_sprintf (s, "\e[%d;%dH", y + 1, x + 1);
+ grub_ofconsole_writeesc (s);
+ }
}
static void
@@ -297,8 +300,11 @@ grub_ofconsole_cls (void)
/* Clear the screen. Using serial console, screen(1) only recognizes the
* ANSI escape sequence. Using video console, Apple Open Firmware (version
* 3.1.1) only recognizes the literal ^L. So use both. */
- grub_ofconsole_writeesc ("\f\e[2J");
- grub_gotoxy (0, 0);
+ if (! grub_ieee1275_test_flag (GRUB_IEEE1275_FLAG_NO_ANSI))
+ {
+ grub_ofconsole_writeesc ("\f\e[2J");
+ grub_gotoxy (0, 0);
+ }
}
static void
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH] Patch for the open hackware
2008-06-17 15:44 [PATCH] Patch for the open hackware Bean
@ 2008-06-17 16:02 ` Pavel Roskin
2008-06-17 17:16 ` Bean
2008-06-17 17:39 ` Robert Millan
1 sibling, 1 reply; 9+ messages in thread
From: Pavel Roskin @ 2008-06-17 16:02 UTC (permalink / raw)
To: The development of GRUB 2
On Tue, 2008-06-17 at 23:44 +0800, Bean wrote:
> Hi,
>
> This patch fix a few problem regarding the open hackware
> implementation of qemu-ppc:
>
> 1, halts when calling grub_ieee1275_interpret
> Add new flag GRUB_IEEE1275_FLAG_CANNOT_INTERPRET
>
> 2, no memory map, which cause out of memory error
> Add new flag GRUB_IEEE1275_FLAG_FORCE_CLAIM, just claim what we need.
>
> 3. Can't understand ansi sequence.
> Add new flag GRUB_IEEE1275_FLAG_NO_ANSI
Looks good to me!
--
Regards,
Pavel Roskin
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] Patch for the open hackware
2008-06-17 16:02 ` Pavel Roskin
@ 2008-06-17 17:16 ` Bean
0 siblings, 0 replies; 9+ messages in thread
From: Bean @ 2008-06-17 17:16 UTC (permalink / raw)
To: The development of GRUB 2
[-- Attachment #1: Type: text/plain, Size: 142 bytes --]
Hi,
This new patch uses a little trick to make the backspace key works, as
it's quite annoying not being able to delete character.
--
Bean
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: ohw_2.diff --]
[-- Type: text/x-diff; name=ohw_2.diff, Size: 3680 bytes --]
diff --git a/include/grub/ieee1275/ieee1275.h b/include/grub/ieee1275/ieee1275.h
index 5c06025..e73c516 100644
--- a/include/grub/ieee1275/ieee1275.h
+++ b/include/grub/ieee1275/ieee1275.h
@@ -89,6 +89,15 @@ enum grub_ieee1275_flag
/* Open Hack'Ware stops when trying to set colors */
GRUB_IEEE1275_FLAG_CANNOT_SET_COLORS,
+
+ /* Open Hack'Ware stops when grub_ieee1275_interpret is used. */
+ GRUB_IEEE1275_FLAG_CANNOT_INTERPRET,
+
+ /* Open Hack'Ware has no memory map, just claim what we need. */
+ GRUB_IEEE1275_FLAG_FORCE_CLAIM,
+
+ /* Open Hack'Ware don't support the ANSI sequence. */
+ GRUB_IEEE1275_FLAG_NO_ANSI,
};
extern int EXPORT_FUNC(grub_ieee1275_test_flag) (enum grub_ieee1275_flag flag);
diff --git a/kern/ieee1275/cmain.c b/kern/ieee1275/cmain.c
index 54a52b6..b5e2ba6 100644
--- a/kern/ieee1275/cmain.c
+++ b/kern/ieee1275/cmain.c
@@ -144,6 +144,9 @@ grub_ieee1275_find_options (void)
{
grub_ieee1275_set_flag (GRUB_IEEE1275_FLAG_BROKEN_OUTPUT);
grub_ieee1275_set_flag (GRUB_IEEE1275_FLAG_CANNOT_SET_COLORS);
+ grub_ieee1275_set_flag (GRUB_IEEE1275_FLAG_CANNOT_INTERPRET);
+ grub_ieee1275_set_flag (GRUB_IEEE1275_FLAG_FORCE_CLAIM);
+ grub_ieee1275_set_flag (GRUB_IEEE1275_FLAG_NO_ANSI);
}
}
}
diff --git a/kern/ieee1275/ieee1275.c b/kern/ieee1275/ieee1275.c
index 135b30e..2605901 100644
--- a/kern/ieee1275/ieee1275.c
+++ b/kern/ieee1275/ieee1275.c
@@ -390,6 +390,9 @@ grub_ieee1275_interpret (const char *command, grub_ieee1275_cell_t *catch)
}
args;
+ if (grub_ieee1275_test_flag (GRUB_IEEE1275_FLAG_CANNOT_INTERPRET))
+ return -1;
+
INIT_IEEE1275_COMMON (&args.common, "interpret", 1, 1);
args.command = (grub_ieee1275_cell_t) command;
diff --git a/kern/ieee1275/init.c b/kern/ieee1275/init.c
index b8f414b..dcaafa2 100644
--- a/kern/ieee1275/init.c
+++ b/kern/ieee1275/init.c
@@ -171,7 +171,26 @@ static void grub_claim_heap (void)
return 0;
}
- grub_available_iterate (heap_init);
+ if (grub_ieee1275_test_flag (GRUB_IEEE1275_FLAG_CANNOT_INTERPRET))
+ {
+ grub_addr_t addr;
+ grub_uint32_t len;
+
+ addr = HEAP_MAX_ADDR - HEAP_MIN_SIZE;
+ len = HEAP_MIN_SIZE;
+
+ if (grub_claimmap (addr, len) < 0)
+ {
+ grub_error (GRUB_ERR_OUT_OF_MEMORY,
+ "Failed to claim heap at 0x%llx, len 0x%llx\n",
+ addr, len);
+ return;
+ }
+
+ grub_mm_init_region ((void *) addr, len);
+ }
+ else
+ grub_available_iterate (heap_init);
}
#ifdef __i386__
diff --git a/term/ieee1275/ofconsole.c b/term/ieee1275/ofconsole.c
index 3b269ce..9af4327 100644
--- a/term/ieee1275/ofconsole.c
+++ b/term/ieee1275/ofconsole.c
@@ -63,6 +63,9 @@ static int bgcolor = 0;
static void
grub_ofconsole_writeesc (const char *str)
{
+ if (grub_ieee1275_test_flag (GRUB_IEEE1275_FLAG_NO_ANSI))
+ return;
+
while (*str)
{
char chr = *(str++);
@@ -284,11 +287,28 @@ static void
grub_ofconsole_gotoxy (grub_uint8_t x, grub_uint8_t y)
{
char s[11]; /* 5 + 3 + 3. */
- grub_curr_x = x;
- grub_curr_y = y;
- grub_sprintf (s, "\e[%d;%dH", y + 1, x + 1);
- grub_ofconsole_writeesc (s);
+ if (! grub_ieee1275_test_flag (GRUB_IEEE1275_FLAG_NO_ANSI))
+ {
+ grub_curr_x = x;
+ grub_curr_y = y;
+
+ grub_sprintf (s, "\e[%d;%dH", y + 1, x + 1);
+ grub_ofconsole_writeesc (s);
+ }
+ else
+ {
+ if ((y == grub_curr_y) && (x == grub_curr_x - 1))
+ {
+ char chr;
+
+ chr = '\b';
+ grub_ieee1275_write (stdout_ihandle, &chr, 1, 0);
+ }
+
+ grub_curr_x = x;
+ grub_curr_y = y;
+ }
}
static void
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH] Patch for the open hackware
2008-06-17 15:44 [PATCH] Patch for the open hackware Bean
2008-06-17 16:02 ` Pavel Roskin
@ 2008-06-17 17:39 ` Robert Millan
2008-06-17 17:45 ` Bean
1 sibling, 1 reply; 9+ messages in thread
From: Robert Millan @ 2008-06-17 17:39 UTC (permalink / raw)
To: The development of GRUB 2
On Tue, Jun 17, 2008 at 11:44:36PM +0800, Bean wrote:
> + if (grub_ieee1275_test_flag (GRUB_IEEE1275_FLAG_CANNOT_INTERPRET))
> + {
> + grub_addr_t addr;
> + grub_uint32_t len;
> +
> + addr = HEAP_MAX_ADDR - HEAP_MIN_SIZE;
> + len = HEAP_MIN_SIZE;
> +
> + if (grub_claimmap (addr, len) < 0)
> + return grub_error (GRUB_ERR_OUT_OF_MEMORY,
> + "Failed to claim heap at 0x%llx, len 0x%llx\n",
> + addr, len);
> +
> + grub_mm_init_region ((void *) addr, len);
> + }
> + else
> + grub_available_iterate (heap_init);
> }
This skips all the checks in heap_init(), which were intended for situations
that could also apply to Open Hackware. Would be better if you call
heap_init() with the desired parameters instead.
--
Robert Millan
<GPLv2> I know my rights; I want my phone call!
<DRM> What good is a phone call… if you are unable to speak?
(as seen on /.)
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] Patch for the open hackware
2008-06-17 17:39 ` Robert Millan
@ 2008-06-17 17:45 ` Bean
2008-06-30 10:08 ` Bean
0 siblings, 1 reply; 9+ messages in thread
From: Bean @ 2008-06-17 17:45 UTC (permalink / raw)
To: The development of GRUB 2
[-- Attachment #1: Type: text/plain, Size: 1088 bytes --]
On Wed, Jun 18, 2008 at 1:39 AM, Robert Millan <rmh@aybabtu.com> wrote:
> On Tue, Jun 17, 2008 at 11:44:36PM +0800, Bean wrote:
>> + if (grub_ieee1275_test_flag (GRUB_IEEE1275_FLAG_CANNOT_INTERPRET))
>> + {
>> + grub_addr_t addr;
>> + grub_uint32_t len;
>> +
>> + addr = HEAP_MAX_ADDR - HEAP_MIN_SIZE;
>> + len = HEAP_MIN_SIZE;
>> +
>> + if (grub_claimmap (addr, len) < 0)
>> + return grub_error (GRUB_ERR_OUT_OF_MEMORY,
>> + "Failed to claim heap at 0x%llx, len 0x%llx\n",
>> + addr, len);
>> +
>> + grub_mm_init_region ((void *) addr, len);
>> + }
>> + else
>> + grub_available_iterate (heap_init);
>> }
>
> This skips all the checks in heap_init(), which were intended for situations
> that could also apply to Open Hackware. Would be better if you call
> heap_init() with the desired parameters instead.
Hi,
You're right, this is the new patch.
btw, I also include the previous elf header patch. It's working in
linuxbios, olpc and ppc, I guess it should be all right.
--
Bean
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: ohw_3.diff --]
[-- Type: text/x-diff; name=ohw_3.diff, Size: 5834 bytes --]
diff --git a/include/grub/ieee1275/ieee1275.h b/include/grub/ieee1275/ieee1275.h
index 5c06025..e73c516 100644
--- a/include/grub/ieee1275/ieee1275.h
+++ b/include/grub/ieee1275/ieee1275.h
@@ -89,6 +89,15 @@ enum grub_ieee1275_flag
/* Open Hack'Ware stops when trying to set colors */
GRUB_IEEE1275_FLAG_CANNOT_SET_COLORS,
+
+ /* Open Hack'Ware stops when grub_ieee1275_interpret is used. */
+ GRUB_IEEE1275_FLAG_CANNOT_INTERPRET,
+
+ /* Open Hack'Ware has no memory map, just claim what we need. */
+ GRUB_IEEE1275_FLAG_FORCE_CLAIM,
+
+ /* Open Hack'Ware don't support the ANSI sequence. */
+ GRUB_IEEE1275_FLAG_NO_ANSI,
};
extern int EXPORT_FUNC(grub_ieee1275_test_flag) (enum grub_ieee1275_flag flag);
diff --git a/kern/ieee1275/cmain.c b/kern/ieee1275/cmain.c
index 54a52b6..b5e2ba6 100644
--- a/kern/ieee1275/cmain.c
+++ b/kern/ieee1275/cmain.c
@@ -144,6 +144,9 @@ grub_ieee1275_find_options (void)
{
grub_ieee1275_set_flag (GRUB_IEEE1275_FLAG_BROKEN_OUTPUT);
grub_ieee1275_set_flag (GRUB_IEEE1275_FLAG_CANNOT_SET_COLORS);
+ grub_ieee1275_set_flag (GRUB_IEEE1275_FLAG_CANNOT_INTERPRET);
+ grub_ieee1275_set_flag (GRUB_IEEE1275_FLAG_FORCE_CLAIM);
+ grub_ieee1275_set_flag (GRUB_IEEE1275_FLAG_NO_ANSI);
}
}
}
diff --git a/kern/ieee1275/ieee1275.c b/kern/ieee1275/ieee1275.c
index 135b30e..2605901 100644
--- a/kern/ieee1275/ieee1275.c
+++ b/kern/ieee1275/ieee1275.c
@@ -390,6 +390,9 @@ grub_ieee1275_interpret (const char *command, grub_ieee1275_cell_t *catch)
}
args;
+ if (grub_ieee1275_test_flag (GRUB_IEEE1275_FLAG_CANNOT_INTERPRET))
+ return -1;
+
INIT_IEEE1275_COMMON (&args.common, "interpret", 1, 1);
args.command = (grub_ieee1275_cell_t) command;
diff --git a/kern/ieee1275/init.c b/kern/ieee1275/init.c
index b8f414b..645d1bd 100644
--- a/kern/ieee1275/init.c
+++ b/kern/ieee1275/init.c
@@ -171,7 +171,10 @@ static void grub_claim_heap (void)
return 0;
}
- grub_available_iterate (heap_init);
+ if (grub_ieee1275_test_flag (GRUB_IEEE1275_FLAG_CANNOT_INTERPRET))
+ heap_init (HEAP_MAX_ADDR - HEAP_MIN_SIZE, HEAP_MIN_SIZE);
+ else
+ grub_available_iterate (heap_init);
}
#ifdef __i386__
diff --git a/term/ieee1275/ofconsole.c b/term/ieee1275/ofconsole.c
index 3b269ce..9af4327 100644
--- a/term/ieee1275/ofconsole.c
+++ b/term/ieee1275/ofconsole.c
@@ -63,6 +63,9 @@ static int bgcolor = 0;
static void
grub_ofconsole_writeesc (const char *str)
{
+ if (grub_ieee1275_test_flag (GRUB_IEEE1275_FLAG_NO_ANSI))
+ return;
+
while (*str)
{
char chr = *(str++);
@@ -284,11 +287,28 @@ static void
grub_ofconsole_gotoxy (grub_uint8_t x, grub_uint8_t y)
{
char s[11]; /* 5 + 3 + 3. */
- grub_curr_x = x;
- grub_curr_y = y;
- grub_sprintf (s, "\e[%d;%dH", y + 1, x + 1);
- grub_ofconsole_writeesc (s);
+ if (! grub_ieee1275_test_flag (GRUB_IEEE1275_FLAG_NO_ANSI))
+ {
+ grub_curr_x = x;
+ grub_curr_y = y;
+
+ grub_sprintf (s, "\e[%d;%dH", y + 1, x + 1);
+ grub_ofconsole_writeesc (s);
+ }
+ else
+ {
+ if ((y == grub_curr_y) && (x == grub_curr_x - 1))
+ {
+ char chr;
+
+ chr = '\b';
+ grub_ieee1275_write (stdout_ihandle, &chr, 1, 0);
+ }
+
+ grub_curr_x = x;
+ grub_curr_y = y;
+ }
}
static void
diff --git a/util/elf/grub-mkimage.c b/util/elf/grub-mkimage.c
index ca138dd..43c873e 100644
--- a/util/elf/grub-mkimage.c
+++ b/util/elf/grub-mkimage.c
@@ -166,8 +166,8 @@ add_segments (char *dir, FILE *out, int chrp, char *mods[])
FILE *in;
char *kernel_path;
grub_addr_t grub_end = 0;
- off_t phdroff;
- int i;
+ off_t offset;
+ int i, phdr_size;
/* Read ELF header. */
kernel_path = grub_util_get_path (dir, "kernel.elf");
@@ -177,8 +177,21 @@ add_segments (char *dir, FILE *out, int chrp, char *mods[])
grub_util_read_at (&ehdr, sizeof (ehdr), 0, in);
- phdrs = xmalloc (grub_target_to_host16 (ehdr.e_phentsize)
- * (grub_target_to_host16 (ehdr.e_phnum) + 2));
+ offset = ALIGN_UP (sizeof (ehdr), sizeof (long));
+ ehdr.e_phoff = grub_host_to_target32 (offset);
+
+ phdr_size = (grub_target_to_host16 (ehdr.e_phentsize) *
+ grub_target_to_host16 (ehdr.e_phnum));
+
+ if (mods[0] != NULL)
+ phdr_size += grub_target_to_host16 (ehdr.e_phentsize);
+
+ if (chrp)
+ phdr_size += grub_target_to_host16 (ehdr.e_phentsize);
+
+ phdrs = xmalloc (phdr_size);
+ offset += ALIGN_UP (phdr_size, sizeof (long));
+
/* Copy all existing segments. */
for (i = 0; i < grub_target_to_host16 (ehdr.e_phnum); i++)
{
@@ -207,8 +220,11 @@ add_segments (char *dir, FILE *out, int chrp, char *mods[])
grub_util_read_at (segment_img, grub_target_to_host32 (phdr->p_filesz),
grub_target_to_host32 (phdr->p_offset), in);
+
+ phdr->p_offset = grub_host_to_target32 (offset);
grub_util_write_image_at (segment_img, grub_target_to_host32 (phdr->p_filesz),
- grub_target_to_host32 (phdr->p_offset), out);
+ offset, out);
+ offset += ALIGN_UP (grub_target_to_host32 (phdr->p_filesz), sizeof (long));
free (segment_img);
}
@@ -249,14 +265,10 @@ add_segments (char *dir, FILE *out, int chrp, char *mods[])
ehdr.e_shnum = 0;
ehdr.e_shstrndx = 0;
- /* Append entire segment table to the file. */
- phdroff = ALIGN_UP (grub_util_get_fp_size (out), sizeof (long));
- grub_util_write_image_at (phdrs, grub_target_to_host16 (ehdr.e_phentsize)
- * grub_target_to_host16 (ehdr.e_phnum), phdroff,
- out);
+ /* Write entire segment table to the file. */
+ grub_util_write_image_at (phdrs, phdr_size, grub_target_to_host32 (ehdr.e_phoff), out);
/* Write ELF header. */
- ehdr.e_phoff = grub_host_to_target32 (phdroff);
grub_util_write_image_at (&ehdr, sizeof (ehdr), 0, out);
free (phdrs);
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH] Patch for the open hackware
2008-06-17 17:45 ` Bean
@ 2008-06-30 10:08 ` Bean
2008-06-30 16:23 ` Pavel Roskin
0 siblings, 1 reply; 9+ messages in thread
From: Bean @ 2008-06-30 10:08 UTC (permalink / raw)
To: The development of GRUB 2
On Wed, Jun 18, 2008 at 1:45 AM, Bean <bean123ch@gmail.com> wrote:
> On Wed, Jun 18, 2008 at 1:39 AM, Robert Millan <rmh@aybabtu.com> wrote:
>> On Tue, Jun 17, 2008 at 11:44:36PM +0800, Bean wrote:
>>> + if (grub_ieee1275_test_flag (GRUB_IEEE1275_FLAG_CANNOT_INTERPRET))
>>> + {
>>> + grub_addr_t addr;
>>> + grub_uint32_t len;
>>> +
>>> + addr = HEAP_MAX_ADDR - HEAP_MIN_SIZE;
>>> + len = HEAP_MIN_SIZE;
>>> +
>>> + if (grub_claimmap (addr, len) < 0)
>>> + return grub_error (GRUB_ERR_OUT_OF_MEMORY,
>>> + "Failed to claim heap at 0x%llx, len 0x%llx\n",
>>> + addr, len);
>>> +
>>> + grub_mm_init_region ((void *) addr, len);
>>> + }
>>> + else
>>> + grub_available_iterate (heap_init);
>>> }
>>
>> This skips all the checks in heap_init(), which were intended for situations
>> that could also apply to Open Hackware. Would be better if you call
>> heap_init() with the desired parameters instead.
>
> Hi,
>
> You're right, this is the new patch.
>
> btw, I also include the previous elf header patch. It's working in
> linuxbios, olpc and ppc, I guess it should be all right.
Hi,
If no one objects, I'd like to commit this soon.
--
Bean
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] Patch for the open hackware
2008-06-30 10:08 ` Bean
@ 2008-06-30 16:23 ` Pavel Roskin
2008-07-01 15:56 ` Robert Millan
0 siblings, 1 reply; 9+ messages in thread
From: Pavel Roskin @ 2008-06-30 16:23 UTC (permalink / raw)
To: The development of GRUB 2
On Mon, 2008-06-30 at 18:08 +0800, Bean wrote:
> If no one objects, I'd like to commit this soon.
No objection from me. I was about to ask you to commit it.
--
Regards,
Pavel Roskin
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] Patch for the open hackware
2008-06-30 16:23 ` Pavel Roskin
@ 2008-07-01 15:56 ` Robert Millan
2008-07-02 7:39 ` Bean
0 siblings, 1 reply; 9+ messages in thread
From: Robert Millan @ 2008-07-01 15:56 UTC (permalink / raw)
To: The development of GRUB 2
On Mon, Jun 30, 2008 at 12:23:42PM -0400, Pavel Roskin wrote:
> On Mon, 2008-06-30 at 18:08 +0800, Bean wrote:
>
> > If no one objects, I'd like to commit this soon.
>
> No objection from me. I was about to ask you to commit it.
No objection either
--
Robert Millan
<GPLv2> I know my rights; I want my phone call!
<DRM> What good is a phone call… if you are unable to speak?
(as seen on /.)
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] Patch for the open hackware
2008-07-01 15:56 ` Robert Millan
@ 2008-07-02 7:39 ` Bean
0 siblings, 0 replies; 9+ messages in thread
From: Bean @ 2008-07-02 7:39 UTC (permalink / raw)
To: The development of GRUB 2
On Tue, Jul 1, 2008 at 11:56 PM, Robert Millan <rmh@aybabtu.com> wrote:
> On Mon, Jun 30, 2008 at 12:23:42PM -0400, Pavel Roskin wrote:
>> On Mon, 2008-06-30 at 18:08 +0800, Bean wrote:
>>
>> > If no one objects, I'd like to commit this soon.
>>
>> No objection from me. I was about to ask you to commit it.
>
> No objection either
Committed.
--
Bean
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2008-07-02 7:39 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-06-17 15:44 [PATCH] Patch for the open hackware Bean
2008-06-17 16:02 ` Pavel Roskin
2008-06-17 17:16 ` Bean
2008-06-17 17:39 ` Robert Millan
2008-06-17 17:45 ` Bean
2008-06-30 10:08 ` Bean
2008-06-30 16:23 ` Pavel Roskin
2008-07-01 15:56 ` Robert Millan
2008-07-02 7:39 ` Bean
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.