[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [XenPPC] [xenppc-unstable] merge
# HG changeset patch # User Hollis Blanchard <hollisb@xxxxxxxxxx> # Node ID 81281ae027e1844ef8475cf5eeaffe43a1413752 # Parent aaa0870863b457be3c243640e10f0097bfc83296 # Parent 517ce601ae9d49a63fd14d61a5f6a060fbf2853c merge --- xen/arch/ppc/Makefile | 13 ++++++++++--- xen/arch/ppc/Rules.mk | 4 +++- xen/arch/ppc/boot_of.c | 2 +- xen/arch/ppc/mpic.c | 4 ++-- xen/arch/ppc/of_handler/control.c | 2 +- xen/arch/ppc/of_handler/devtree.c | 12 ++++++------ xen/arch/ppc/of_handler/io.c | 6 +++--- xen/arch/ppc/of_handler/memory.c | 4 ++-- xen/arch/ppc/of_handler/ofh.c | 4 ++-- xen/arch/ppc/of_handler/ofh.h | 4 ++-- xen/arch/ppc/ofd_fixup.c | 2 +- xen/arch/ppc/papr/tce.c | 2 +- 12 files changed, 34 insertions(+), 25 deletions(-) diff -r aaa0870863b4 -r 81281ae027e1 xen/arch/ppc/Makefile --- a/xen/arch/ppc/Makefile Tue Jun 06 14:37:46 2006 -0500 +++ b/xen/arch/ppc/Makefile Tue Jun 06 15:03:45 2006 -0500 @@ -44,10 +44,17 @@ obj-y += firmware_image.o CFLAGS += -Wundef -Wpointer-arith CFLAGS += -Wmissing-prototypes -Wmissing-declarations -Wpacked -CFALGS += -Wredundant-decls +CFLAGS += -Wredundant-decls + +# +# The following flags are fed to gcc in order to link several +# objects into a single ELF segment and to not link in any additional +# objects that gcc would normally like to +# +OMAGIC = -N -nodefaultlibs -nostartfiles firmware: of_handler/built_in.o $(TARGET_SUBARCH)/memcpy.o of-devtree.o - $(LD) $(LDFLAGS) -e __ofh_start -N -Ttext=0x0 $^ -o $@ + $(CC) $(CFLAGS) $(OMAGIC) -e __ofh_start -Wl,-Ttext,0x0 $^ -o $@ firmware_image: firmware $(CROSS_COMPILE)objcopy --output-target=binary $< $@ @@ -72,7 +79,7 @@ start.o: boot/start.S $(CC) $(CFLAGS) -D__ASSEMBLY__ -c $< -o $@ $(TARGET)-syms: start.o $(ALL_OBJS) xen.lds - $(LD) $(LDFLAGS) -N -Ttext 0x2000100 -T xen.lds start.o $(ALL_OBJS) -o $@ + $(CC) $(CFLAGS) $(OMAGIC) -Wl,-Ttext,0x2000100,-T,xen.lds start.o $(ALL_OBJS) -o $@ $(TARGET).bin: $(TARGET)-syms $(CROSS_COMPILE)objcopy --output-target=binary $< $@ diff -r aaa0870863b4 -r 81281ae027e1 xen/arch/ppc/Rules.mk --- a/xen/arch/ppc/Rules.mk Tue Jun 06 14:37:46 2006 -0500 +++ b/xen/arch/ppc/Rules.mk Tue Jun 06 15:03:45 2006 -0500 @@ -3,7 +3,7 @@ CC := $(CROSS_COMPILE)gcc CC := $(CROSS_COMPILE)gcc LD := $(CROSS_COMPILE)ld -CFLAGS := -ffreestanding -fno-builtin -fno-common -fno-strict-aliasing +CFLAGS := -m64 -ffreestanding -fno-builtin -fno-common -fno-strict-aliasing CFLAGS += -iwithprefix include -Wall -Werror -pipe # -Wpadded CFLAGS += -I$(BASEDIR)/include CFLAGS += -I$(BASEDIR)/include/asm-ppc/mach-generic @@ -12,6 +12,8 @@ CFLAGS += -msoft-float -O2 CFLAGS += -msoft-float -O2 CFLAGS-$(debug) += -O0 # last one wins CFLAGS-$(papr_vterm) += -DPAPR_VDEVICE -DPAPR_VTERM + +LDFLAGS += -m elf64ppc # # command to embed a binary inside a .o diff -r aaa0870863b4 -r 81281ae027e1 xen/arch/ppc/boot_of.c --- a/xen/arch/ppc/boot_of.c Tue Jun 06 14:37:46 2006 -0500 +++ b/xen/arch/ppc/boot_of.c Tue Jun 06 15:03:45 2006 -0500 @@ -62,7 +62,7 @@ extern s32 prom_call(void *arg, ulong rt extern s32 prom_call(void *arg, ulong rtas_base, ulong func, ulong msr); static int __init of_call( - const char *service, u32 nargs, u32 nrets, u32 rets[], ...) + const char *service, u32 nargs, u32 nrets, s32 rets[], ...) { int rc; diff -r aaa0870863b4 -r 81281ae027e1 xen/arch/ppc/mpic.c --- a/xen/arch/ppc/mpic.c Tue Jun 06 14:37:46 2006 -0500 +++ b/xen/arch/ppc/mpic.c Tue Jun 06 15:03:45 2006 -0500 @@ -896,7 +896,7 @@ void __init mpic_init(struct mpic *mpic) void mpic_irq_set_priority(unsigned int irq, unsigned int pri) { - int is_ipi; + unsigned is_ipi; struct mpic *mpic = mpic_find(irq, &is_ipi); unsigned long flags; u32 reg; @@ -918,7 +918,7 @@ void mpic_irq_set_priority(unsigned int unsigned int mpic_irq_get_priority(unsigned int irq) { - int is_ipi; + unsigned is_ipi; struct mpic *mpic = mpic_find(irq, &is_ipi); unsigned long flags; u32 reg; diff -r aaa0870863b4 -r 81281ae027e1 xen/arch/ppc/of_handler/control.c --- a/xen/arch/ppc/of_handler/control.c Tue Jun 06 14:37:46 2006 -0500 +++ b/xen/arch/ppc/of_handler/control.c Tue Jun 06 15:03:45 2006 -0500 @@ -48,7 +48,7 @@ ofh_exit(u32 nargs __attribute__ ((unuse ulong b) { static const char msg[] = "OFH: exit method called\n"; - u32 dummy; + s32 dummy; ofh_cons_write(DRELA(&msg[0], b), sizeof (msg), &dummy); diff -r aaa0870863b4 -r 81281ae027e1 xen/arch/ppc/of_handler/devtree.c --- a/xen/arch/ppc/of_handler/devtree.c Tue Jun 06 14:37:46 2006 -0500 +++ b/xen/arch/ppc/of_handler/devtree.c Tue Jun 06 15:03:45 2006 -0500 @@ -26,7 +26,7 @@ ofh_peer(u32 nargs, u32 nrets, s32 argp[ if (nargs == 1) { if (nrets == 1) { ofdn_t ph = argp[0]; - u32 *sib_ph = &retp[0]; + s32 *sib_ph = &retp[0]; void *mem = ofd_mem(b); *sib_ph = ofd_node_peer(mem, ph); @@ -42,7 +42,7 @@ ofh_child(u32 nargs, u32 nrets, s32 argp if (nargs == 1) { if (nrets == 1) { ofdn_t ph = argp[0]; - u32 *ch_ph = &retp[0]; + s32 *ch_ph = &retp[0]; void *mem = ofd_mem(b); *ch_ph = ofd_node_child(mem, ph); @@ -58,7 +58,7 @@ ofh_parent(u32 nargs, u32 nrets, s32 arg if (nargs == 1) { if (nrets == 1) { ofdn_t ph = argp[0]; - u32 *parent_ph = &retp[0]; + s32 *parent_ph = &retp[0]; void *mem = ofd_mem(b); *parent_ph = ofd_node_parent(mem, ph); @@ -76,7 +76,7 @@ ofh_instance_to_package(u32 nargs, u32 n if (nrets == 1) { struct ofh_ihandle *ih = (struct ofh_ihandle *)(ulong)argp[0]; - u32 *p = &retp[0]; + s32 *p = &retp[0]; *p = (s32)ih->ofi_node; return OF_SUCCESS; @@ -173,7 +173,7 @@ ofh_canon(u32 nargs, u32 nrets, s32 argp const char *dev_spec = (const char *)(ulong)argp[0]; char *buf = (char *)(ulong)argp[1]; u32 sz = argp[2]; - u32 *len = &retp[0]; + s32 *len = &retp[0]; void *mem = ofd_mem(b); ofdn_t ph; @@ -227,7 +227,7 @@ ofh_instance_to_path(u32 nargs, u32 nret (struct ofh_ihandle *)((ulong)argp[0]); char *buf = (char *)(ulong)argp[1]; u32 sz = argp[2]; - u32 *len = &retp[0]; + s32 *len = &retp[0]; ofdn_t ph; void *mem = ofd_mem(b); diff -r aaa0870863b4 -r 81281ae027e1 xen/arch/ppc/of_handler/io.c --- a/xen/arch/ppc/of_handler/io.c Tue Jun 06 14:37:46 2006 -0500 +++ b/xen/arch/ppc/of_handler/io.c Tue Jun 06 15:03:45 2006 -0500 @@ -25,7 +25,7 @@ ofh_open(u32 nargs, u32 nrets, s32 argp[ if (nargs == 1) { if (nrets == 1) { const char *devspec = (const char *)(ulong)argp[0]; - u32 *ih = &retp[0]; + s32 *ih = &retp[0]; ofdn_t p; void *mem = ofd_mem(b); @@ -72,7 +72,7 @@ ofh_read(u32 nargs, u32 nrets, s32 argp[ if (ih->ofi_read != NULL) { void *addr = (void *)(ulong)argp[1]; u32 sz = argp[2]; - u32 *actual = &retp[0]; + s32 *actual = &retp[0]; void *f = ih->ofi_read; if (f != 0) { @@ -96,7 +96,7 @@ ofh_write(u32 nargs, u32 nrets, s32 argp if (ih->ofi_write != NULL) { void *addr = (void *)(ulong)argp[1]; u32 sz = argp[2]; - u32 *actual = &retp[0]; + s32 *actual = &retp[0]; void *f = ih->ofi_write; if (f != 0) { diff -r aaa0870863b4 -r 81281ae027e1 xen/arch/ppc/of_handler/memory.c --- a/xen/arch/ppc/of_handler/memory.c Tue Jun 06 14:37:46 2006 -0500 +++ b/xen/arch/ppc/of_handler/memory.c Tue Jun 06 15:03:45 2006 -0500 @@ -25,7 +25,7 @@ static struct of_malloc_s claimed[64]; static struct of_malloc_s claimed[64]; static s32 -claim(ulong b, u32 virt, u32 size, u32 align, u32 *baseaddr) +claim(ulong b, u32 virt, u32 size, u32 align, s32 *baseaddr) { struct of_malloc_s *cp; u32 i; @@ -76,7 +76,7 @@ ofh_claim(u32 nargs, u32 nrets, s32 argp u32 virt = argp[0]; u32 size = argp[1]; u32 align = argp[2]; - u32 *baseaddr = &retp[0]; + s32 *baseaddr = &retp[0]; return claim(b, virt, size, align, baseaddr); } diff -r aaa0870863b4 -r 81281ae027e1 xen/arch/ppc/of_handler/ofh.c --- a/xen/arch/ppc/of_handler/ofh.c Tue Jun 06 14:37:46 2006 -0500 +++ b/xen/arch/ppc/of_handler/ofh.c Tue Jun 06 15:03:45 2006 -0500 @@ -67,7 +67,7 @@ assprint(const char *expr, const char *f a[13] = '\n'; a[14] = '\n'; - u32 actual; + s32 actual; u32 t = 1; volatile u32 *tp = &t; @@ -319,7 +319,7 @@ ofh_handler(struct ofh_args *args, ulong if ((ulong)ofd_mem(b) < (ulong)_end + b) { static const char msg[] = "PANIC: OFD and BSS collide\n"; - u32 dummy; + s32 dummy; ofh_cons_write(DRELA(&msg[0], b), sizeof (msg), &dummy); for (;;); diff -r aaa0870863b4 -r 81281ae027e1 xen/arch/ppc/of_handler/ofh.h --- a/xen/arch/ppc/of_handler/ofh.h Tue Jun 06 14:37:46 2006 -0500 +++ b/xen/arch/ppc/of_handler/ofh.h Tue Jun 06 15:03:45 2006 -0500 @@ -124,10 +124,10 @@ extern s32 ofh_cons_write(const void *bu extern s32 ofh_cons_write(const void *buf, u32 count, s32 *actual); extern s32 ofh_cons_close(void); extern s32 ofh_handler(struct ofh_args *args, ulong ifh_base); -extern s32 leap(u32 nargs, u32 nrets, u32 args[], u32 rets[], +extern s32 leap(u32 nargs, u32 nrets, s32 args[], s32 rets[], ulong ba, void *f); -extern s32 io_leap(s32 chan, void *buf, u32 sz, u32 *actual, +extern s32 io_leap(s32 chan, void *buf, u32 sz, s32 *actual, ulong ba, void *f); extern void ofh_vty_init(ofdn_t chosen, ulong b); diff -r aaa0870863b4 -r 81281ae027e1 xen/arch/ppc/ofd_fixup.c --- a/xen/arch/ppc/ofd_fixup.c Tue Jun 06 14:37:46 2006 -0500 +++ b/xen/arch/ppc/ofd_fixup.c Tue Jun 06 15:03:45 2006 -0500 @@ -484,7 +484,7 @@ int ofd_dom0_fixup(struct domain *d, ulo ofd_cpus_props(m, d); printk("Add /chosen props\n"); - ofd_chosen_props(m, si->cmd_line); + ofd_chosen_props(m, (char *)si->cmd_line); printk("fix /memory@0 props\n"); ofd_memory_props(m, d, eoload); diff -r aaa0870863b4 -r 81281ae027e1 xen/arch/ppc/papr/tce.c --- a/xen/arch/ppc/papr/tce.c Tue Jun 06 14:37:46 2006 -0500 +++ b/xen/arch/ppc/papr/tce.c Tue Jun 06 15:03:45 2006 -0500 @@ -70,7 +70,7 @@ static void h_stuff_tce(struct cpu_user_ #ifdef DEBUG printk("%s: liobn: 0x%x ioba: 0x%lx tce: 0x%" PRIx64"(0x%"PRIx64") count: %lu\n", - __func__, liobn, ioba, tce.tce_dword, tce.tce_bits.tce_rpn, + __func__, liobn, ioba, tce.tce_dword, (long)tce.tce_bits.tce_rpn, count); #endif regs->gprs[3] = H_Function; _______________________________________________ Xen-ppc-devel mailing list Xen-ppc-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-ppc-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |