From ea909b7604306a400ee3abf57e2fa7b2dde5dde1 Mon Sep 17 00:00:00 2001 From: wdenk Date: Thu, 21 Nov 2002 23:11:29 +0000 Subject: * Added support for both PCMCIA slots (at the same time!) on MPC8xx * Patch by Rod Boyce, 21 Nov 2002: fix PCMCIA on MBX8xx board * Patch by Pierre Aubert , 21 Nov 2002 Add CFG_CPM_POST_WORD_ADDR to make the offset of the bootmode word in DPRAM configurable --- lib_i386/i386_linux.c | 4 ++-- lib_i386/pci_type1.c | 8 ++++---- lib_i386/realmode.c | 7 ++++--- 3 files changed, 10 insertions(+), 9 deletions(-) (limited to 'lib_i386') diff --git a/lib_i386/i386_linux.c b/lib_i386/i386_linux.c index c37a0d8ee6..5a596ff2b8 100644 --- a/lib_i386/i386_linux.c +++ b/lib_i386/i386_linux.c @@ -47,7 +47,7 @@ image_header_t *fake_header(image_header_t *hdr, void *ptr, int size) void do_bootm_linux(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[], ulong addr, ulong *len_ptr, int verify) { - ulong base_ptr; + void *base_ptr; ulong len = 0, checksum; ulong initrd_start, initrd_end; @@ -150,7 +150,7 @@ void do_bootm_linux(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[], initrd_end = 0; } - base_ptr = load_zimage(addr + sizeof(image_header_t), ntohl(hdr->ih_size), + base_ptr = load_zimage((void*)addr + sizeof(image_header_t), ntohl(hdr->ih_size), initrd_start, initrd_end-initrd_start, 0); if (NULL == base_ptr) { diff --git a/lib_i386/pci_type1.c b/lib_i386/pci_type1.c index 8d35716eed..5dfa8ab4fd 100644 --- a/lib_i386/pci_type1.c +++ b/lib_i386/pci_type1.c @@ -17,16 +17,16 @@ #include #include -#define cfg_read(val, addr, type, op) *val = op((type)(addr)) -#define cfg_write(val, addr, type, op) op((val), (type *)(addr)) +#define cfg_read(val, addr, op) *val = op((int)(addr)) +#define cfg_write(val, addr, op) op((val), (int)(addr)) #define TYPE1_PCI_OP(rw, size, type, op, mask) \ static int \ type1_##rw##_config_##size(struct pci_controller *hose, \ pci_dev_t dev, int offset, type val) \ { \ - outl(dev | (offset & 0xfc) | 0x80000000, hose->cfg_addr); \ - cfg_##rw(val, hose->cfg_data + (offset & mask), type, op); \ + outl(dev | (offset & 0xfc) | 0x80000000, (int)hose->cfg_addr); \ + cfg_##rw(val, hose->cfg_data + (offset & mask), op); \ return 0; \ } diff --git a/lib_i386/realmode.c b/lib_i386/realmode.c index 372147cf24..27d4693825 100644 --- a/lib_i386/realmode.c +++ b/lib_i386/realmode.c @@ -24,6 +24,7 @@ #include #include #include +#include #define REALMODE_BASE ((char*)0x7c0) @@ -44,16 +45,16 @@ int enter_realmode(u16 seg, u16 off, struct pt_regs *in, struct pt_regs *out) /* copy the realmode switch code */ if (i386boot_realmode_size > (REALMODE_MAILBOX-REALMODE_BASE)) { printf("realmode switch too large (%ld bytes, max is %d)\n", - i386boot_realmode_size, (REALMODE_MAILBOX-REALMODE_BASE)); + i386boot_realmode_size, (int)(REALMODE_MAILBOX-REALMODE_BASE)); return -1; } - memcpy(REALMODE_BASE, i386boot_realmode, i386boot_realmode_size); + memcpy(REALMODE_BASE, (void*)i386boot_realmode, i386boot_realmode_size); in->eip = off; in->xcs = seg; - if (3>in->esp & 0xffff) { + if (3>(in->esp & 0xffff)) { printf("Warning: entering realmode with sp < 4 will fail\n"); } -- cgit v1.2.1