diff options
Diffstat (limited to 'arch')
-rw-r--r-- | arch/x86/cpu/coreboot/sdram.c | 7 | ||||
-rw-r--r-- | arch/x86/cpu/qemu/e820.c | 3 | ||||
-rw-r--r-- | arch/x86/cpu/tangier/sdram.c | 6 | ||||
-rw-r--r-- | arch/x86/include/asm/bootparam.h | 2 | ||||
-rw-r--r-- | arch/x86/include/asm/e820.h | 5 | ||||
-rw-r--r-- | arch/x86/include/asm/io.h | 38 | ||||
-rw-r--r-- | arch/x86/lib/bios.c | 4 | ||||
-rw-r--r-- | arch/x86/lib/coreboot_table.c | 2 | ||||
-rw-r--r-- | arch/x86/lib/e820.c | 4 | ||||
-rw-r--r-- | arch/x86/lib/fsp/fsp_dram.c | 5 |
10 files changed, 45 insertions, 31 deletions
diff --git a/arch/x86/cpu/coreboot/sdram.c b/arch/x86/cpu/coreboot/sdram.c index 82407affaf1..885fc6f5f2c 100644 --- a/arch/x86/cpu/coreboot/sdram.c +++ b/arch/x86/cpu/coreboot/sdram.c @@ -12,12 +12,13 @@ DECLARE_GLOBAL_DATA_PTR; -unsigned install_e820_map(unsigned max_entries, struct e820entry *entries) +unsigned int install_e820_map(unsigned int max_entries, + struct e820_entry *entries) { - unsigned num_entries; + unsigned int num_entries; int i; - num_entries = min((unsigned)lib_sysinfo.n_memranges, max_entries); + num_entries = min((unsigned int)lib_sysinfo.n_memranges, max_entries); if (num_entries < lib_sysinfo.n_memranges) { printf("Warning: Limiting e820 map to %d entries.\n", num_entries); diff --git a/arch/x86/cpu/qemu/e820.c b/arch/x86/cpu/qemu/e820.c index c1c9b89def7..ec733cb0383 100644 --- a/arch/x86/cpu/qemu/e820.c +++ b/arch/x86/cpu/qemu/e820.c @@ -9,7 +9,8 @@ DECLARE_GLOBAL_DATA_PTR; -unsigned install_e820_map(unsigned max_entries, struct e820entry *entries) +unsigned int install_e820_map(unsigned int max_entries, + struct e820_entry *entries) { entries[0].addr = 0; entries[0].size = ISA_START_ADDRESS; diff --git a/arch/x86/cpu/tangier/sdram.c b/arch/x86/cpu/tangier/sdram.c index eae8d785df9..f5f412a1e57 100644 --- a/arch/x86/cpu/tangier/sdram.c +++ b/arch/x86/cpu/tangier/sdram.c @@ -99,7 +99,8 @@ static struct sfi_table_simple *sfi_search_mmap(void) i < SFI_GET_NUM_ENTRIES(sb, struct sfi_mem_entry); \ i++, mentry++) \ -static unsigned sfi_setup_e820(unsigned max_entries, struct e820entry *entries) +static unsigned int sfi_setup_e820(unsigned int max_entries, + struct e820_entry *entries) { struct sfi_table_simple *sb; struct sfi_mem_entry *mentry; @@ -188,7 +189,8 @@ static phys_size_t sfi_get_ram_size(void) return ram; } -unsigned install_e820_map(unsigned max_entries, struct e820entry *entries) +unsigned int install_e820_map(unsigned int max_entries, + struct e820_entry *entries) { return sfi_setup_e820(max_entries, entries); } diff --git a/arch/x86/include/asm/bootparam.h b/arch/x86/include/asm/bootparam.h index 6aba6143612..0386cbeca50 100644 --- a/arch/x86/include/asm/bootparam.h +++ b/arch/x86/include/asm/bootparam.h @@ -111,7 +111,7 @@ struct boot_params { struct setup_header hdr; /* setup header */ /* 0x1f1 */ __u8 _pad7[0x290-0x1f1-sizeof(struct setup_header)]; __u32 edd_mbr_sig_buffer[EDD_MBR_SIG_MAX]; /* 0x290 */ - struct e820entry e820_map[E820MAX]; /* 0x2d0 */ + struct e820_entry e820_map[E820MAX]; /* 0x2d0 */ __u8 _pad8[48]; /* 0xcd0 */ struct edd_info eddbuf[EDDMAXNR]; /* 0xd00 */ __u8 _pad9[276]; /* 0xeec */ diff --git a/arch/x86/include/asm/e820.h b/arch/x86/include/asm/e820.h index 351f02107eb..9d29f82f972 100644 --- a/arch/x86/include/asm/e820.h +++ b/arch/x86/include/asm/e820.h @@ -12,7 +12,7 @@ #ifndef __ASSEMBLY__ #include <linux/types.h> -struct e820entry { +struct e820_entry { __u64 addr; /* start of memory segment */ __u64 size; /* size of memory segment */ __u32 type; /* type of memory segment */ @@ -24,6 +24,7 @@ struct e820entry { #endif /* __ASSEMBLY__ */ /* Implementation defined function to install an e820 map */ -unsigned install_e820_map(unsigned max_entries, struct e820entry *); +unsigned int install_e820_map(unsigned int max_entries, + struct e820_entry *); #endif /* _ASM_X86_E820_H */ diff --git a/arch/x86/include/asm/io.h b/arch/x86/include/asm/io.h index 263dd8fd170..d1aaa5fc783 100644 --- a/arch/x86/include/asm/io.h +++ b/arch/x86/include/asm/io.h @@ -61,49 +61,53 @@ #define readb(addr) (*(volatile unsigned char *) (addr)) #define readw(addr) (*(volatile unsigned short *) (addr)) #define readl(addr) (*(volatile unsigned int *) (addr)) +#define readq(addr) (*(volatile unsigned long long *) (addr)) #define __raw_readb readb #define __raw_readw readw #define __raw_readl readl +#define __raw_readq readq #define writeb(b,addr) (*(volatile unsigned char *) (addr) = (b)) #define writew(b,addr) (*(volatile unsigned short *) (addr) = (b)) #define writel(b,addr) (*(volatile unsigned int *) (addr) = (b)) +#define writeq(b,addr) (*(volatile unsigned long long *) (addr) = (b)) #define __raw_writeb writeb #define __raw_writew writew #define __raw_writel writel +#define __raw_writeq writeq #define memset_io(a,b,c) memset((a),(b),(c)) #define memcpy_fromio(a,b,c) memcpy((a),(b),(c)) #define memcpy_toio(a,b,c) memcpy((a),(b),(c)) -#define write_arch(type, endian, a, v) __raw_write##type(cpu_to_##endian(v), a) -#define read_arch(type, endian, a) endian##_to_cpu(__raw_read##type(a)) +#define out_arch(type, endian, a, v) __raw_write##type(cpu_to_##endian(v), a) +#define in_arch(type, endian, a) endian##_to_cpu(__raw_read##type(a)) -#define write_le64(a, v) write_arch(q, le64, a, v) -#define write_le32(a, v) write_arch(l, le32, a, v) -#define write_le16(a, v) write_arch(w, le16, a, v) +#define out_le64(a, v) out_arch(q, le64, a, v) +#define out_le32(a, v) out_arch(l, le32, a, v) +#define out_le16(a, v) out_arch(w, le16, a, v) -#define read_le64(a) read_arch(q, le64, a) -#define read_le32(a) read_arch(l, le32, a) -#define read_le16(a) read_arch(w, le16, a) +#define in_le64(a) in_arch(q, le64, a) +#define in_le32(a) in_arch(l, le32, a) +#define in_le16(a) in_arch(w, le16, a) -#define write_be32(a, v) write_arch(l, be32, a, v) -#define write_be16(a, v) write_arch(w, be16, a, v) +#define out_be32(a, v) out_arch(l, be32, a, v) +#define out_be16(a, v) out_arch(w, be16, a, v) -#define read_be32(a) read_arch(l, be32, a) -#define read_be16(a) read_arch(w, be16, a) +#define in_be32(a) in_arch(l, be32, a) +#define in_be16(a) in_arch(w, be16, a) -#define write_8(a, v) __raw_writeb(v, a) -#define read_8(a) __raw_readb(a) +#define out_8(a, v) __raw_writeb(v, a) +#define in_8(a) __raw_readb(a) #define clrbits(type, addr, clear) \ - write_##type((addr), read_##type(addr) & ~(clear)) + out_##type((addr), in_##type(addr) & ~(clear)) #define setbits(type, addr, set) \ - write_##type((addr), read_##type(addr) | (set)) + out_##type((addr), in_##type(addr) | (set)) #define clrsetbits(type, addr, clear, set) \ - write_##type((addr), (read_##type(addr) & ~(clear)) | (set)) + out_##type((addr), (in_##type(addr) & ~(clear)) | (set)) #define clrbits_be32(addr, clear) clrbits(be32, addr, clear) #define setbits_be32(addr, set) setbits(be32, addr, set) diff --git a/arch/x86/lib/bios.c b/arch/x86/lib/bios.c index 66d7629a6dd..f9092fdc651 100644 --- a/arch/x86/lib/bios.c +++ b/arch/x86/lib/bios.c @@ -185,6 +185,7 @@ static void setup_realmode_idt(void) write_idt_stub((void *)0xffe6e, 0x1a); } +#ifdef CONFIG_FRAMEBUFFER_SET_VESA_MODE static u8 vbe_get_mode_info(struct vbe_mode_info *mi) { u16 buffer_seg; @@ -241,6 +242,7 @@ static void vbe_set_graphics(int vesa_mode, struct vbe_mode_info *mode_info) mode_info->video_mode &= 0x3ff; vbe_set_mode(mode_info); } +#endif /* CONFIG_FRAMEBUFFER_SET_VESA_MODE */ void bios_run_on_x86(struct udevice *dev, unsigned long addr, int vesa_mode, struct vbe_mode_info *mode_info) @@ -273,8 +275,10 @@ void bios_run_on_x86(struct udevice *dev, unsigned long addr, int vesa_mode, 0x0); debug("done\n"); +#ifdef CONFIG_FRAMEBUFFER_SET_VESA_MODE if (vesa_mode != -1) vbe_set_graphics(vesa_mode, mode_info); +#endif } asmlinkage int interrupt_handler(u32 intnumber, u32 gsfs, u32 dses, diff --git a/arch/x86/lib/coreboot_table.c b/arch/x86/lib/coreboot_table.c index b1b4cd96131..5e0edd32149 100644 --- a/arch/x86/lib/coreboot_table.c +++ b/arch/x86/lib/coreboot_table.c @@ -100,7 +100,7 @@ void write_coreboot_table(u32 addr, struct memory_area *cfg_tables) struct cb_record *cbr; struct cb_memory *mem; struct cb_memory_range *map; - struct e820entry e820[32]; + struct e820_entry e820[32]; struct cb_framebuffer *fb; struct vesa_mode_info *vesa; int i, num; diff --git a/arch/x86/lib/e820.c b/arch/x86/lib/e820.c index 5babfde2685..84c8fab189b 100644 --- a/arch/x86/lib/e820.c +++ b/arch/x86/lib/e820.c @@ -17,8 +17,8 @@ DECLARE_GLOBAL_DATA_PTR; * 0x100000-gd->ram_size Useable RAM * CONFIG_PCIE_ECAM_BASE PCIe ECAM */ -__weak unsigned install_e820_map(unsigned max_entries, - struct e820entry *entries) +__weak unsigned int install_e820_map(unsigned int max_entries, + struct e820_entry *entries) { entries[0].addr = 0; entries[0].size = ISA_START_ADDRESS; diff --git a/arch/x86/lib/fsp/fsp_dram.c b/arch/x86/lib/fsp/fsp_dram.c index 1a7af576d54..662d4ace216 100644 --- a/arch/x86/lib/fsp/fsp_dram.c +++ b/arch/x86/lib/fsp/fsp_dram.c @@ -62,9 +62,10 @@ ulong board_get_usable_ram_top(ulong total_size) return fsp_get_usable_lowmem_top(gd->arch.hob_list); } -unsigned install_e820_map(unsigned max_entries, struct e820entry *entries) +unsigned int install_e820_map(unsigned int max_entries, + struct e820_entry *entries) { - unsigned num_entries = 0; + unsigned int num_entries = 0; const struct hob_header *hdr; struct hob_res_desc *res_desc; |