//SPARTAN/trunk/arch/ppc/include/ppc.h |
---|
File deleted |
//SPARTAN/trunk/arch/ppc/include/context.h |
---|
30,9 → 30,17 |
#define __ppc_CONTEXT_H__ |
#include <arch/types.h> |
#include <arch/drivers/ofw.h> |
#define SP_DELTA 4 |
#define SP_DELTA 8 |
#ifdef context_map_stack |
#undef context_map_stack |
#endif |
#define context_map_stack(stack, size) \ |
ofw_claim((void *) stack, size, 0); |
struct context { |
__u32 r0; |
__u32 sp; |
//SPARTAN/trunk/arch/ppc/include/drivers/ofw.h |
---|
57,6 → 57,7 |
extern void ofw_putchar(const char ch); |
extern phandle ofw_find_device(const char *name); |
extern int ofw_get_property(const phandle device, const char *name, void *buf, const int buflen); |
extern void *ofw_claim(const void *addr, const int size, const int align); |
extern void putchar(const char ch); |
#endif |
//SPARTAN/trunk/arch/ppc/Makefile.inc |
---|
16,7 → 16,6 |
arch_sources= \ |
arch/context.S \ |
arch/ppc.c \ |
arch/debug/panic.s \ |
arch/fpu_context.c \ |
arch/dummy.s \ |
//SPARTAN/trunk/arch/ppc/src/ppc.c |
---|
File deleted |
//SPARTAN/trunk/arch/ppc/src/drivers/ofw.c |
---|
92,6 → 92,11 |
return ofw_call("getprop", 4, 1, device, name, buf, buflen); |
} |
void *ofw_claim(const void *addr, const int size, const int align) |
{ |
return (void *) ofw_call("claim", 3, 1, addr, size, align); |
} |
void putchar(const char ch) |
{ |
ofw_putchar(ch); |
//SPARTAN/trunk/arch/ppc/src/start.S |
---|
33,7 → 33,9 |
.global kernel_image_start |
kernel_image_start: |
bl early_init |
lis r4, ofw@ha |
addi r4, r4, ofw@l |
stw r5, 0(r4) |
lis r3, _hardcoded_ktext_size@ha |
addi r3, r3, _hardcoded_ktext_size@l |
53,4 → 55,6 |
addi r4, r4, hardcoded_load_address@l |
stw r3, 0(r4) |
bl ofw_init |
b main_bsp |