2005-05-08 Hollis Blanchard <hollis@penguinppc.org>

* boot/powerpc/ieee1275/cmain.c	(module_info): Remove definition.
	(grub_ieee1275_chosen): New variable.
	(cmain): Initialize and use `grub_ieee1275_chosen' instead of
	`chosen'.
	* boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
	* boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
	Rename first argument to `phandle' for consistency.
	(grub_ieee1275_get_property_length): Likewise.
	(grub_ieee1275_next_property): Likewise.  Change type of first argument
	to grub_ieee1275_phandle_t.
	* include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
	Move export next to declaration.
	(grub_ieee1275_chosen): New variable.
	* include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
	Correct cosmetic typo.
	* kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
	`grub_ieee1275_chosen'.
	* kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
	* loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
	(grub_rescue_cmd_linux): Set `initrd_addr' to 0.
	* term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
	`grub_ieee1275_chosen'.
This commit is contained in:
hollisb 2005-06-21 02:33:52 +00:00
parent ca5baa3fc2
commit 168d6e5810
10 changed files with 47 additions and 43 deletions

View file

@ -1,3 +1,28 @@
2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
* boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
(grub_ieee1275_chosen): New variable.
(cmain): Initialize and use `grub_ieee1275_chosen' instead of
`chosen'.
* boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
* boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
Rename first argument to `phandle' for consistency.
(grub_ieee1275_get_property_length): Likewise.
(grub_ieee1275_next_property): Likewise. Change type of first argument
to grub_ieee1275_phandle_t.
* include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
Move export next to declaration.
(grub_ieee1275_chosen): New variable.
* include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
Correct cosmetic typo.
* kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
`grub_ieee1275_chosen'.
* kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
* loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
(grub_rescue_cmd_linux): Set `initrd_addr' to 0.
* term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
`grub_ieee1275_chosen'.
2005-05-10 Hollis Blanchard <hollis@penguinppc.org>
* boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse

View file

@ -24,15 +24,11 @@
#include <grub/machine/ieee1275.h>
#include <grub/kernel.h>
struct module_info
{
uint32_t start;
uint32_t end;
};
/* OpenFirmware entry point passed to us from the real bootloader. */
intptr_t (*grub_ieee1275_entry_fn) (void *);
grub_ieee1275_phandle_t grub_ieee1275_chosen;
static grub_uint32_t grub_ieee1275_flags;

View file

@ -41,8 +41,3 @@ _start:
bl cmain
1: b 1b
.section ".bss"
.lcomm _ppc_init_stack, 4096*2, 16
init_stack:

View file

@ -56,7 +56,7 @@ grub_ieee1275_finddevice (char *name, grub_ieee1275_phandle_t *phandlep)
}
int
grub_ieee1275_get_property (grub_ieee1275_phandle_t handle,
grub_ieee1275_get_property (grub_ieee1275_phandle_t phandle,
const char *property, void *buf,
grub_size_t size, grub_size_t *actual)
{
@ -70,7 +70,7 @@ grub_ieee1275_get_property (grub_ieee1275_phandle_t handle,
} args;
INIT_IEEE1275_COMMON (&args.common, "getprop", 4, 1);
args.phandle = handle;
args.phandle = phandle;
args.prop = property;
args.buf = buf;
args.buflen = size;
@ -85,8 +85,8 @@ grub_ieee1275_get_property (grub_ieee1275_phandle_t handle,
}
int
grub_ieee1275_next_property (int handle, char *prev_prop, char *prop,
int *flags)
grub_ieee1275_next_property (grub_ieee1275_phandle_t phandle, char *prev_prop,
char *prop, int *flags)
{
struct get_property_args {
struct grub_ieee1275_common_hdr common;
@ -97,7 +97,7 @@ grub_ieee1275_next_property (int handle, char *prev_prop, char *prop,
} args;
INIT_IEEE1275_COMMON (&args.common, "nextprop", 3, 1);
args.phandle = handle;
args.phandle = phandle;
args.prev_prop = prev_prop;
args.next_prop = prop;
args.flags = -1;
@ -110,7 +110,7 @@ grub_ieee1275_next_property (int handle, char *prev_prop, char *prop,
}
int
grub_ieee1275_get_property_length (grub_ieee1275_phandle_t handle,
grub_ieee1275_get_property_length (grub_ieee1275_phandle_t phandle,
const char *prop, grub_size_t *length)
{
struct get_property_args {
@ -121,7 +121,7 @@ grub_ieee1275_get_property_length (grub_ieee1275_phandle_t handle,
} args;
INIT_IEEE1275_COMMON (&args.common, "getproplen", 2, 1);
args.phandle = handle;
args.phandle = phandle;
args.prop = prop;
args.length = -1;

View file

@ -39,8 +39,6 @@ struct grub_ieee1275_mem_region
unsigned int size;
};
extern intptr_t(* EXPORT_VAR(grub_ieee1275_entry_fn)) (void *);
#ifndef IEEE1275_CALL_ENTRY_FN
#define IEEE1275_CALL_ENTRY_FN(args) (*grub_ieee1275_entry_fn) (args)
#endif
@ -64,7 +62,10 @@ struct grub_ieee1275_common_hdr
typedef intptr_t grub_ieee1275_ihandle_t;
typedef intptr_t grub_ieee1275_phandle_t;
extern grub_ieee1275_phandle_t grub_ieee1275_chosen;
extern grub_ieee1275_phandle_t EXPORT_VAR(grub_ieee1275_chosen);
extern intptr_t (*grub_ieee1275_entry_fn) (void *);
extern intptr_t (* EXPORT_VAR(grub_ieee1275_entry_fn)) (void *);
enum grub_ieee1275_flag
{

View file

@ -21,6 +21,6 @@
#define GRUB_KERNEL_MACHINE_HEADER 1
/* Where grub-mkimage places the core modules in memory. */
#define GRUB_IEEE1275_MODULE_BASE 0x0300000
#define GRUB_IEEE1275_MODULE_BASE 0x00300000
#endif /* ! GRUB_KERNEL_MACHINE_HEADER */

View file

@ -68,10 +68,8 @@ grub_set_prefix (void)
char bootpath[64]; /* XXX check length */
char *filename;
char *prefix;
grub_ieee1275_phandle_t chosen;
grub_ieee1275_finddevice ("/chosen", &chosen);
if (grub_ieee1275_get_property (chosen, "bootpath", &bootpath,
if (grub_ieee1275_get_property (grub_ieee1275_chosen, "bootpath", &bootpath,
sizeof (bootpath), 0))
{
/* Should never happen. */

View file

@ -165,14 +165,10 @@ grub_map (grub_addr_t phys, grub_addr_t virt, grub_uint32_t size,
int catch_result;
} args;
grub_ieee1275_ihandle_t mmu;
grub_ieee1275_ihandle_t chosen;
int len;
grub_ieee1275_finddevice ("/chosen", &chosen);
if (chosen == 0)
return -1;
grub_ieee1275_get_property (chosen, "mmu", &mmu, sizeof mmu, &len);
grub_ieee1275_get_property (grub_ieee1275_chosen, "mmu", &mmu, sizeof mmu,
&len);
if (len != sizeof mmu)
return -1;

View file

@ -47,13 +47,10 @@ static grub_err_t
grub_linux_boot (void)
{
kernel_entry_t linuxmain;
grub_ieee1275_phandle_t chosen;
grub_size_t actual;
grub_ieee1275_finddevice ("/chosen", &chosen);
/* Set the command line arguments. */
grub_ieee1275_set_property (chosen, "bootargs", linux_args,
grub_ieee1275_set_property (grub_ieee1275_chosen, "bootargs", linux_args,
grub_strlen (linux_args) + 1, &actual);
/* Boot the kernel. */
@ -236,7 +233,7 @@ grub_rescue_cmd_linux (int argc, char *argv[])
else
{
grub_loader_set (grub_linux_boot, grub_linux_unload);
initrd_addr = 0xc0000000;
initrd_addr = 0;
loaded = 1;
}

View file

@ -241,23 +241,19 @@ grub_ofconsole_refresh (void)
static grub_err_t
grub_ofconsole_init (void)
{
grub_ieee1275_phandle_t chosen;
char data[4];
grub_size_t actual;
int col;
if (grub_ieee1275_finddevice ("/chosen", &chosen))
return grub_error (GRUB_ERR_UNKNOWN_DEVICE, "Cannot find /chosen");
if (grub_ieee1275_get_property (chosen, "stdout", data, sizeof data,
&actual)
if (grub_ieee1275_get_property (grub_ieee1275_chosen, "stdout", data,
sizeof data, &actual)
|| actual != sizeof data)
return grub_error (GRUB_ERR_UNKNOWN_DEVICE, "Cannot find stdout");
stdout_ihandle = grub_ieee1275_decode_int_4 (data);
if (grub_ieee1275_get_property (chosen, "stdin", data, sizeof data,
&actual)
if (grub_ieee1275_get_property (grub_ieee1275_chosen, "stdin", data,
sizeof data, &actual)
|| actual != sizeof data)
return grub_error (GRUB_ERR_UNKNOWN_DEVICE, "Cannot find stdin");