From bb756eebdac6fd24e8919e2c43f7d2c8c4091f59 Mon Sep 17 00:00:00 2001 From: RajithaY Date: Tue, 25 Apr 2017 03:31:15 -0700 Subject: Adding qemu as a submodule of KVMFORNFV This Patch includes the changes to add qemu as a submodule to kvmfornfv repo and make use of the updated latest qemu for the execution of all testcase Change-Id: I1280af507a857675c7f81d30c95255635667bdd7 Signed-off-by:RajithaY --- qemu/roms/u-boot/arch/microblaze/config.mk | 17 - qemu/roms/u-boot/arch/microblaze/cpu/Makefile | 11 - qemu/roms/u-boot/arch/microblaze/cpu/cache.c | 69 ---- qemu/roms/u-boot/arch/microblaze/cpu/cpu.c | 9 - qemu/roms/u-boot/arch/microblaze/cpu/exception.c | 61 ---- qemu/roms/u-boot/arch/microblaze/cpu/interrupts.c | 202 ----------- qemu/roms/u-boot/arch/microblaze/cpu/irq.S | 81 ----- qemu/roms/u-boot/arch/microblaze/cpu/spl.c | 55 --- qemu/roms/u-boot/arch/microblaze/cpu/start.S | 188 ---------- qemu/roms/u-boot/arch/microblaze/cpu/timer.c | 92 ----- .../roms/u-boot/arch/microblaze/cpu/u-boot-spl.lds | 57 --- qemu/roms/u-boot/arch/microblaze/cpu/u-boot.lds | 55 --- qemu/roms/u-boot/arch/microblaze/dts/.gitignore | 1 - qemu/roms/u-boot/arch/microblaze/dts/Makefile | 11 - .../arch/microblaze/dts/microblaze-generic.dts | 7 - qemu/roms/u-boot/arch/microblaze/include/asm/asm.h | 82 ----- .../u-boot/arch/microblaze/include/asm/bitops.h | 392 --------------------- .../u-boot/arch/microblaze/include/asm/byteorder.h | 36 -- .../u-boot/arch/microblaze/include/asm/cache.h | 22 -- .../u-boot/arch/microblaze/include/asm/config.h | 10 - .../u-boot/arch/microblaze/include/asm/errno.h | 1 - .../arch/microblaze/include/asm/global_data.h | 20 -- .../roms/u-boot/arch/microblaze/include/asm/gpio.h | 14 - qemu/roms/u-boot/arch/microblaze/include/asm/io.h | 163 --------- .../arch/microblaze/include/asm/microblaze_intc.h | 38 -- .../arch/microblaze/include/asm/microblaze_timer.h | 27 -- .../arch/microblaze/include/asm/posix_types.h | 73 ---- .../u-boot/arch/microblaze/include/asm/processor.h | 21 -- .../u-boot/arch/microblaze/include/asm/ptrace.h | 116 ------ .../u-boot/arch/microblaze/include/asm/sections.h | 11 - qemu/roms/u-boot/arch/microblaze/include/asm/spl.h | 16 - .../u-boot/arch/microblaze/include/asm/string.h | 31 -- .../u-boot/arch/microblaze/include/asm/system.h | 161 --------- .../u-boot/arch/microblaze/include/asm/types.h | 60 ---- .../u-boot/arch/microblaze/include/asm/u-boot.h | 33 -- .../u-boot/arch/microblaze/include/asm/unaligned.h | 1 - qemu/roms/u-boot/arch/microblaze/lib/Makefile | 10 - qemu/roms/u-boot/arch/microblaze/lib/board.c | 201 ----------- qemu/roms/u-boot/arch/microblaze/lib/bootm.c | 85 ----- qemu/roms/u-boot/arch/microblaze/lib/muldi3.c | 75 ---- 40 files changed, 2615 deletions(-) delete mode 100644 qemu/roms/u-boot/arch/microblaze/config.mk delete mode 100644 qemu/roms/u-boot/arch/microblaze/cpu/Makefile delete mode 100644 qemu/roms/u-boot/arch/microblaze/cpu/cache.c delete mode 100644 qemu/roms/u-boot/arch/microblaze/cpu/cpu.c delete mode 100644 qemu/roms/u-boot/arch/microblaze/cpu/exception.c delete mode 100644 qemu/roms/u-boot/arch/microblaze/cpu/interrupts.c delete mode 100644 qemu/roms/u-boot/arch/microblaze/cpu/irq.S delete mode 100644 qemu/roms/u-boot/arch/microblaze/cpu/spl.c delete mode 100644 qemu/roms/u-boot/arch/microblaze/cpu/start.S delete mode 100644 qemu/roms/u-boot/arch/microblaze/cpu/timer.c delete mode 100644 qemu/roms/u-boot/arch/microblaze/cpu/u-boot-spl.lds delete mode 100644 qemu/roms/u-boot/arch/microblaze/cpu/u-boot.lds delete mode 100644 qemu/roms/u-boot/arch/microblaze/dts/.gitignore delete mode 100644 qemu/roms/u-boot/arch/microblaze/dts/Makefile delete mode 100644 qemu/roms/u-boot/arch/microblaze/dts/microblaze-generic.dts delete mode 100644 qemu/roms/u-boot/arch/microblaze/include/asm/asm.h delete mode 100644 qemu/roms/u-boot/arch/microblaze/include/asm/bitops.h delete mode 100644 qemu/roms/u-boot/arch/microblaze/include/asm/byteorder.h delete mode 100644 qemu/roms/u-boot/arch/microblaze/include/asm/cache.h delete mode 100644 qemu/roms/u-boot/arch/microblaze/include/asm/config.h delete mode 100644 qemu/roms/u-boot/arch/microblaze/include/asm/errno.h delete mode 100644 qemu/roms/u-boot/arch/microblaze/include/asm/global_data.h delete mode 100644 qemu/roms/u-boot/arch/microblaze/include/asm/gpio.h delete mode 100644 qemu/roms/u-boot/arch/microblaze/include/asm/io.h delete mode 100644 qemu/roms/u-boot/arch/microblaze/include/asm/microblaze_intc.h delete mode 100644 qemu/roms/u-boot/arch/microblaze/include/asm/microblaze_timer.h delete mode 100644 qemu/roms/u-boot/arch/microblaze/include/asm/posix_types.h delete mode 100644 qemu/roms/u-boot/arch/microblaze/include/asm/processor.h delete mode 100644 qemu/roms/u-boot/arch/microblaze/include/asm/ptrace.h delete mode 100644 qemu/roms/u-boot/arch/microblaze/include/asm/sections.h delete mode 100644 qemu/roms/u-boot/arch/microblaze/include/asm/spl.h delete mode 100644 qemu/roms/u-boot/arch/microblaze/include/asm/string.h delete mode 100644 qemu/roms/u-boot/arch/microblaze/include/asm/system.h delete mode 100644 qemu/roms/u-boot/arch/microblaze/include/asm/types.h delete mode 100644 qemu/roms/u-boot/arch/microblaze/include/asm/u-boot.h delete mode 100644 qemu/roms/u-boot/arch/microblaze/include/asm/unaligned.h delete mode 100644 qemu/roms/u-boot/arch/microblaze/lib/Makefile delete mode 100644 qemu/roms/u-boot/arch/microblaze/lib/board.c delete mode 100644 qemu/roms/u-boot/arch/microblaze/lib/bootm.c delete mode 100644 qemu/roms/u-boot/arch/microblaze/lib/muldi3.c (limited to 'qemu/roms/u-boot/arch/microblaze') diff --git a/qemu/roms/u-boot/arch/microblaze/config.mk b/qemu/roms/u-boot/arch/microblaze/config.mk deleted file mode 100644 index 98bbf794f..000000000 --- a/qemu/roms/u-boot/arch/microblaze/config.mk +++ /dev/null @@ -1,17 +0,0 @@ -# -# (C) Copyright 2007-2008 Michal Simek -# Michal SIMEK -# -# (C) Copyright 2004 Atmark Techno, Inc. -# Yasushi SHOJI -# -# SPDX-License-Identifier: GPL-2.0+ -# - -ifeq ($(CROSS_COMPILE),) -CROSS_COMPILE := mb- -endif - -CONFIG_STANDALONE_LOAD_ADDR ?= 0x80F00000 - -PLATFORM_CPPFLAGS += -ffixed-r31 -D__microblaze__ diff --git a/qemu/roms/u-boot/arch/microblaze/cpu/Makefile b/qemu/roms/u-boot/arch/microblaze/cpu/Makefile deleted file mode 100644 index 4955e8123..000000000 --- a/qemu/roms/u-boot/arch/microblaze/cpu/Makefile +++ /dev/null @@ -1,11 +0,0 @@ -# -# (C) Copyright 2000-2006 -# Wolfgang Denk, DENX Software Engineering, wd@denx.de. -# -# SPDX-License-Identifier: GPL-2.0+ -# - -extra-y = start.o -obj-y = irq.o -obj-y += cpu.o interrupts.o cache.o exception.o timer.o -obj-$(CONFIG_SPL_BUILD) += spl.o diff --git a/qemu/roms/u-boot/arch/microblaze/cpu/cache.c b/qemu/roms/u-boot/arch/microblaze/cpu/cache.c deleted file mode 100644 index ddfa02000..000000000 --- a/qemu/roms/u-boot/arch/microblaze/cpu/cache.c +++ /dev/null @@ -1,69 +0,0 @@ -/* - * (C) Copyright 2007 Michal Simek - * - * Michal SIMEK - * - * SPDX-License-Identifier: GPL-2.0+ - */ - -#include -#include - -int dcache_status (void) -{ - int i = 0; - int mask = 0x80; - __asm__ __volatile__ ("mfs %0,rmsr"::"r" (i):"memory"); - /* i&=0x80 */ - __asm__ __volatile__ ("and %0,%0,%1"::"r" (i), "r" (mask):"memory"); - return i; -} - -int icache_status (void) -{ - int i = 0; - int mask = 0x20; - __asm__ __volatile__ ("mfs %0,rmsr"::"r" (i):"memory"); - /* i&=0x20 */ - __asm__ __volatile__ ("and %0,%0,%1"::"r" (i), "r" (mask):"memory"); - return i; -} - -void icache_enable (void) { - MSRSET(0x20); -} - -void icache_disable(void) { - /* we are not generate ICACHE size -> flush whole cache */ - flush_cache(0, 32768); - MSRCLR(0x20); -} - -void dcache_enable (void) { - MSRSET(0x80); -} - -void dcache_disable(void) { -#ifdef XILINX_USE_DCACHE - flush_cache(0, XILINX_DCACHE_BYTE_SIZE); -#endif - MSRCLR(0x80); -} - -void flush_cache (ulong addr, ulong size) -{ - int i; - for (i = 0; i < size; i += 4) - asm volatile ( -#ifdef CONFIG_ICACHE - "wic %0, r0;" -#endif - "nop;" -#ifdef CONFIG_DCACHE - "wdc.flush %0, r0;" -#endif - "nop;" - : - : "r" (addr + i) - : "memory"); -} diff --git a/qemu/roms/u-boot/arch/microblaze/cpu/cpu.c b/qemu/roms/u-boot/arch/microblaze/cpu/cpu.c deleted file mode 100644 index 8e459d807..000000000 --- a/qemu/roms/u-boot/arch/microblaze/cpu/cpu.c +++ /dev/null @@ -1,9 +0,0 @@ -/* - * (C) Copyright 2004 Atmark Techno, Inc. - * - * Yasushi SHOJI - * - * SPDX-License-Identifier: GPL-2.0+ - */ - -/* EMPTY FILE */ diff --git a/qemu/roms/u-boot/arch/microblaze/cpu/exception.c b/qemu/roms/u-boot/arch/microblaze/cpu/exception.c deleted file mode 100644 index 227842f6a..000000000 --- a/qemu/roms/u-boot/arch/microblaze/cpu/exception.c +++ /dev/null @@ -1,61 +0,0 @@ -/* - * (C) Copyright 2007 Michal Simek - * - * Michal SIMEK - * - * SPDX-License-Identifier: GPL-2.0+ - */ - -#include -#include - -void _hw_exception_handler (void) -{ - int address = 0; - int state = 0; - /* loading address of exception EAR */ - MFS (address, rear); - /* loading excetpion state register ESR */ - MFS (state, resr); - printf ("Hardware exception at 0x%x address\n", address); - switch (state & 0x1f) { /* mask on exception cause */ - case 0x1: - puts ("Unaligned data access exception\n"); - break; - case 0x2: - puts ("Illegal op-code exception\n"); - break; - case 0x3: - puts ("Instruction bus error exception\n"); - break; - case 0x4: - puts ("Data bus error exception\n"); - break; - case 0x5: - puts ("Divide by zero exception\n"); - break; -#ifdef MICROBLAZE_V5 - case 0x7: - puts("Priviledged or stack protection violation exception\n"); - break; - case 0x1000: - puts ("Exception in delay slot\n"); - break; -#endif - default: - puts ("Undefined cause\n"); - break; - } - printf ("Unaligned %sword access\n", ((state & 0x800) ? "" : "half")); - printf ("Unaligned %s access\n", ((state & 0x400) ? "store" : "load")); - printf ("Register R%x\n", (state & 0x3E) >> 5); - hang (); -} - -#ifdef CONFIG_SYS_USR_EXCEP -void _exception_handler (void) -{ - puts ("User vector_exception\n"); - hang (); -} -#endif diff --git a/qemu/roms/u-boot/arch/microblaze/cpu/interrupts.c b/qemu/roms/u-boot/arch/microblaze/cpu/interrupts.c deleted file mode 100644 index 9364e2fa9..000000000 --- a/qemu/roms/u-boot/arch/microblaze/cpu/interrupts.c +++ /dev/null @@ -1,202 +0,0 @@ -/* - * (C) Copyright 2007 Michal Simek - * (C) Copyright 2004 Atmark Techno, Inc. - * - * Michal SIMEK - * Yasushi SHOJI - * - * SPDX-License-Identifier: GPL-2.0+ - */ - -#include -#include -#include -#include -#include - -#undef DEBUG_INT - -void enable_interrupts(void) -{ - MSRSET(0x2); -} - -int disable_interrupts(void) -{ - unsigned int msr; - - MFS(msr, rmsr); - MSRCLR(0x2); - return (msr & 0x2) != 0; -} - -static struct irq_action *vecs; -static u32 irq_no; - -/* mapping structure to interrupt controller */ -microblaze_intc_t *intc; - -/* default handler */ -static void def_hdlr(void) -{ - puts("def_hdlr\n"); -} - -static void enable_one_interrupt(int irq) -{ - int mask; - int offset = 1; - - offset <<= irq; - mask = intc->ier; - intc->ier = (mask | offset); -#ifdef DEBUG_INT - printf("Enable one interrupt irq %x - mask %x,ier %x\n", offset, mask, - intc->ier); - printf("INTC isr %x, ier %x, iar %x, mer %x\n", intc->isr, intc->ier, - intc->iar, intc->mer); -#endif -} - -static void disable_one_interrupt(int irq) -{ - int mask; - int offset = 1; - - offset <<= irq; - mask = intc->ier; - intc->ier = (mask & ~offset); -#ifdef DEBUG_INT - printf("Disable one interrupt irq %x - mask %x,ier %x\n", irq, mask, - intc->ier); - printf("INTC isr %x, ier %x, iar %x, mer %x\n", intc->isr, intc->ier, - intc->iar, intc->mer); -#endif -} - -int install_interrupt_handler(int irq, interrupt_handler_t *hdlr, void *arg) -{ - struct irq_action *act; - - /* irq out of range */ - if ((irq < 0) || (irq > irq_no)) { - puts("IRQ out of range\n"); - return -1; - } - act = &vecs[irq]; - if (hdlr) { /* enable */ - act->handler = hdlr; - act->arg = arg; - act->count = 0; - enable_one_interrupt (irq); - return 0; - } - - /* Disable */ - act->handler = (interrupt_handler_t *) def_hdlr; - act->arg = (void *)irq; - disable_one_interrupt(irq); - return 1; -} - -/* initialization interrupt controller - hardware */ -static void intc_init(void) -{ - intc->mer = 0; - intc->ier = 0; - intc->iar = 0xFFFFFFFF; - /* XIntc_Start - hw_interrupt enable and all interrupt enable */ - intc->mer = 0x3; -#ifdef DEBUG_INT - printf("INTC isr %x, ier %x, iar %x, mer %x\n", intc->isr, intc->ier, - intc->iar, intc->mer); -#endif -} - -int interrupts_init(void) -{ - int i; - -#if defined(CONFIG_SYS_INTC_0_ADDR) && defined(CONFIG_SYS_INTC_0_NUM) - intc = (microblaze_intc_t *) (CONFIG_SYS_INTC_0_ADDR); - irq_no = CONFIG_SYS_INTC_0_NUM; -#endif - if (irq_no) { - vecs = calloc(1, sizeof(struct irq_action) * irq_no); - if (vecs == NULL) { - puts("Interrupt vector allocation failed\n"); - return -1; - } - - /* initialize irq list */ - for (i = 0; i < irq_no; i++) { - vecs[i].handler = (interrupt_handler_t *) def_hdlr; - vecs[i].arg = (void *)i; - vecs[i].count = 0; - } - /* initialize intc controller */ - intc_init(); - enable_interrupts(); - } else { - puts("Undefined interrupt controller\n"); - } - return 0; -} - -void interrupt_handler(void) -{ - int irqs = intc->ivr; /* find active interrupt */ - int mask = 1; -#ifdef DEBUG_INT - int value; - printf ("INTC isr %x, ier %x, iar %x, mer %x\n", intc->isr, intc->ier, - intc->iar, intc->mer); - R14(value); - printf ("Interrupt handler on %x line, r14 %x\n", irqs, value); -#endif - struct irq_action *act = vecs + irqs; - -#ifdef DEBUG_INT - printf - ("Jumping to interrupt handler rutine addr %x,count %x,arg %x\n", - act->handler, act->count, act->arg); -#endif - act->handler (act->arg); - act->count++; - - intc->iar = mask << irqs; - -#ifdef DEBUG_INT - printf ("Dump INTC reg, isr %x, ier %x, iar %x, mer %x\n", intc->isr, - intc->ier, intc->iar, intc->mer); - R14(value); - printf ("Interrupt handler on %x line, r14 %x\n", irqs, value); -#endif -} - -#if defined(CONFIG_CMD_IRQ) -int do_irqinfo(cmd_tbl_t *cmdtp, int flag, int argc, const char *argv[]) -{ - int i; - struct irq_action *act = vecs; - - if (irq_no) { - puts("\nInterrupt-Information:\n\n" - "Nr Routine Arg Count\n" - "-----------------------------\n"); - - for (i = 0; i < irq_no; i++) { - if (act->handler != (interrupt_handler_t *) def_hdlr) { - printf("%02d %08x %08x %d\n", i, - (int)act->handler, (int)act->arg, - act->count); - } - act++; - } - puts("\n"); - } else { - puts("Undefined interrupt controller\n"); - } - return 0; -} -#endif diff --git a/qemu/roms/u-boot/arch/microblaze/cpu/irq.S b/qemu/roms/u-boot/arch/microblaze/cpu/irq.S deleted file mode 100644 index 24015898b..000000000 --- a/qemu/roms/u-boot/arch/microblaze/cpu/irq.S +++ /dev/null @@ -1,81 +0,0 @@ -/* - * (C) Copyright 2007 Michal Simek - * - * Michal SIMEK - * - * SPDX-License-Identifier: GPL-2.0+ - */ - -#include -#include - .text - .global _interrupt_handler -_interrupt_handler: - swi r2, r1, -4 - swi r3, r1, -8 - swi r4, r1, -12 - swi r5, r1, -16 - swi r6, r1, -20 - swi r7, r1, -24 - swi r8, r1, -28 - swi r9, r1, -32 - swi r10, r1, -36 - swi r11, r1, -40 - swi r12, r1, -44 - swi r13, r1, -48 - swi r14, r1, -52 - swi r15, r1, -56 - swi r16, r1, -60 - swi r17, r1, -64 - swi r18, r1, -68 - swi r19, r1, -72 - swi r20, r1, -76 - swi r21, r1, -80 - swi r22, r1, -84 - swi r23, r1, -88 - swi r24, r1, -92 - swi r25, r1, -96 - swi r26, r1, -100 - swi r27, r1, -104 - swi r28, r1, -108 - swi r29, r1, -112 - swi r30, r1, -116 - swi r31, r1, -120 - addik r1, r1, -124 - brlid r15, interrupt_handler - nop - addik r1, r1, 124 - lwi r31, r1, -120 - lwi r30, r1, -116 - lwi r29, r1, -112 - lwi r28, r1, -108 - lwi r27, r1, -104 - lwi r26, r1, -100 - lwi r25, r1, -96 - lwi r24, r1, -92 - lwi r23, r1, -88 - lwi r22, r1, -84 - lwi r21, r1, -80 - lwi r20, r1, -76 - lwi r19, r1, -72 - lwi r18, r1, -68 - lwi r17, r1, -64 - lwi r16, r1, -60 - lwi r15, r1, -56 - lwi r14, r1, -52 - lwi r13, r1, -48 - lwi r12, r1, -44 - lwi r11, r1, -40 - lwi r10, r1, -36 - lwi r9, r1, -32 - lwi r8, r1, -28 - lwi r7, r1, -24 - lwi r6, r1, -20 - lwi r5, r1, -16 - lwi r4, r1, -12 - lwi r3, r1, -8 - lwi r2, r1, -4 - - rtid r14, 0 - nop - .size _interrupt_handler,.-_interrupt_handler diff --git a/qemu/roms/u-boot/arch/microblaze/cpu/spl.c b/qemu/roms/u-boot/arch/microblaze/cpu/spl.c deleted file mode 100644 index 091226133..000000000 --- a/qemu/roms/u-boot/arch/microblaze/cpu/spl.c +++ /dev/null @@ -1,55 +0,0 @@ -/* - * (C) Copyright 2013 - 2014 Xilinx, Inc - * - * Michal Simek - * - * SPDX-License-Identifier: GPL-2.0+ - */ - -#include -#include -#include -#include -#include -#include - -DECLARE_GLOBAL_DATA_PTR; - -bool boot_linux; - -u32 spl_boot_device(void) -{ - return BOOT_DEVICE_NOR; -} - -/* Board initialization after bss clearance */ -void spl_board_init(void) -{ - gd = (gd_t *)CONFIG_SPL_STACK_ADDR; - - /* enable console uart printing */ - preloader_console_init(); -} - -#ifdef CONFIG_SPL_OS_BOOT -void __noreturn jump_to_image_linux(void *arg) -{ - debug("Entering kernel arg pointer: 0x%p\n", arg); - typedef void (*image_entry_arg_t)(char *, ulong, ulong) - __attribute__ ((noreturn)); - image_entry_arg_t image_entry = - (image_entry_arg_t)spl_image.entry_point; - - image_entry(NULL, 0, (ulong)arg); -} -#endif /* CONFIG_SPL_OS_BOOT */ - -int spl_start_uboot(void) -{ -#ifdef CONFIG_SPL_OS_BOOT - if (boot_linux) - return 0; -#endif - - return 1; -} diff --git a/qemu/roms/u-boot/arch/microblaze/cpu/start.S b/qemu/roms/u-boot/arch/microblaze/cpu/start.S deleted file mode 100644 index 1757bbfa9..000000000 --- a/qemu/roms/u-boot/arch/microblaze/cpu/start.S +++ /dev/null @@ -1,188 +0,0 @@ -/* - * (C) Copyright 2007 Michal Simek - * (C) Copyright 2004 Atmark Techno, Inc. - * - * Michal SIMEK - * Yasushi SHOJI - * - * SPDX-License-Identifier: GPL-2.0+ - */ - -#include -#include - - .text - .global _start -_start: - /* - * reserve registers: - * r10: Stores little/big endian offset for vectors - * r2: Stores imm opcode - * r3: Stores brai opcode - */ - - mts rmsr, r0 /* disable cache */ - -#if defined(CONFIG_SPL_BUILD) - addi r1, r0, CONFIG_SPL_STACK_ADDR - addi r1, r1, -4 /* Decrement SP to top of memory */ -#else - addi r1, r0, CONFIG_SYS_INIT_SP_OFFSET - addi r1, r1, -4 /* Decrement SP to top of memory */ - - /* Find-out if u-boot is running on BIG/LITTLE endian platform - * There are some steps which is necessary to keep in mind: - * 1. Setup offset value to r6 - * 2. Store word offset value to address 0x0 - * 3. Load just byte from address 0x0 - * 4a) LITTLE endian - r10 contains 0x2 because it is the smallest - * value that's why is on address 0x0 - * 4b) BIG endian - r10 contains 0x0 because 0x2 offset is on addr 0x3 - */ - addik r6, r0, 0x2 /* BIG/LITTLE endian offset */ - lwi r7, r0, 0x28 - swi r6, r0, 0x28 /* used first unused MB vector */ - lbui r10, r0, 0x28 /* used first unused MB vector */ - swi r7, r0, 0x28 - - /* add opcode instruction for 32bit jump - 2 instruction imm & brai */ - addi r2, r0, 0xb0000000 /* hex b000 opcode imm */ - addi r3, r0, 0xb8080000 /* hew b808 opcode brai */ - -#ifdef CONFIG_SYS_RESET_ADDRESS - /* reset address */ - swi r2, r0, 0x0 /* reset address - imm opcode */ - swi r3, r0, 0x4 /* reset address - brai opcode */ - - addik r6, r0, CONFIG_SYS_RESET_ADDRESS - sw r6, r1, r0 - lhu r7, r1, r10 - rsubi r8, r10, 0x2 - sh r7, r0, r8 - rsubi r8, r10, 0x6 - sh r6, r0, r8 -#endif - -#ifdef CONFIG_SYS_USR_EXCEP - /* user_vector_exception */ - swi r2, r0, 0x8 /* user vector exception - imm opcode */ - swi r3, r0, 0xC /* user vector exception - brai opcode */ - - addik r6, r0, _exception_handler - sw r6, r1, r0 - /* - * BIG ENDIAN memory map for user exception - * 0x8: 0xB000XXXX - * 0xC: 0xB808XXXX - * - * then it is necessary to count address for storing the most significant - * 16bits from _exception_handler address and copy it to - * 0xa address. Big endian use offset in r10=0 that's why is it just - * 0xa address. The same is done for the least significant 16 bits - * for 0xe address. - * - * LITTLE ENDIAN memory map for user exception - * 0x8: 0xXXXX00B0 - * 0xC: 0xXXXX08B8 - * - * Offset is for little endian setup to 0x2. rsubi instruction decrease - * address value to ensure that points to proper place which is - * 0x8 for the most significant 16 bits and - * 0xC for the least significant 16 bits - */ - lhu r7, r1, r10 - rsubi r8, r10, 0xa - sh r7, r0, r8 - rsubi r8, r10, 0xe - sh r6, r0, r8 -#endif - - /* interrupt_handler */ - swi r2, r0, 0x10 /* interrupt - imm opcode */ - swi r3, r0, 0x14 /* interrupt - brai opcode */ - - addik r6, r0, _interrupt_handler - sw r6, r1, r0 - lhu r7, r1, r10 - rsubi r8, r10, 0x12 - sh r7, r0, r8 - rsubi r8, r10, 0x16 - sh r6, r0, r8 - - /* hardware exception */ - swi r2, r0, 0x20 /* hardware exception - imm opcode */ - swi r3, r0, 0x24 /* hardware exception - brai opcode */ - - addik r6, r0, _hw_exception_handler - sw r6, r1, r0 - lhu r7, r1, r10 - rsubi r8, r10, 0x22 - sh r7, r0, r8 - rsubi r8, r10, 0x26 - sh r6, r0, r8 -#endif /* BUILD_SPL */ - - /* Flush cache before enable cache */ - addik r5, r0, 0 - addik r6, r0, XILINX_DCACHE_BYTE_SIZE -flush: bralid r15, flush_cache - nop - - /* enable instruction and data cache */ - mfs r12, rmsr - ori r12, r12, 0xa0 - mts rmsr, r12 - -clear_bss: - /* clear BSS segments */ - addi r5, r0, __bss_start - addi r4, r0, __bss_end - cmp r6, r5, r4 - beqi r6, 3f -2: - swi r0, r5, 0 /* write zero to loc */ - addi r5, r5, 4 /* increment to next loc */ - cmp r6, r5, r4 /* check if we have reach the end */ - bnei r6, 2b -3: /* jumping to board_init */ -#ifndef CONFIG_SPL_BUILD - brai board_init_f -#else - brai board_init_r -#endif -1: bri 1b - -#ifndef CONFIG_SPL_BUILD -/* - * Read 16bit little endian - */ - .text - .global in16 - .ent in16 - .align 2 -in16: lhu r3, r0, r5 - bslli r4, r3, 8 - bsrli r3, r3, 8 - andi r4, r4, 0xffff - or r3, r3, r4 - rtsd r15, 8 - sext16 r3, r3 - .end in16 - -/* - * Write 16bit little endian - * first parameter(r5) - address, second(r6) - short value - */ - .text - .global out16 - .ent out16 - .align 2 -out16: bslli r3, r6, 8 - bsrli r6, r6, 8 - andi r3, r3, 0xffff - or r3, r3, r6 - sh r3, r0, r5 - rtsd r15, 8 - or r0, r0, r0 - .end out16 -#endif diff --git a/qemu/roms/u-boot/arch/microblaze/cpu/timer.c b/qemu/roms/u-boot/arch/microblaze/cpu/timer.c deleted file mode 100644 index 3960bbb08..000000000 --- a/qemu/roms/u-boot/arch/microblaze/cpu/timer.c +++ /dev/null @@ -1,92 +0,0 @@ -/* - * (C) Copyright 2007 Michal Simek - * - * Michal SIMEK - * - * SPDX-License-Identifier: GPL-2.0+ - */ - -#include -#include -#include - -volatile int timestamp = 0; -microblaze_timer_t *tmr; - -ulong get_timer (ulong base) -{ - if (tmr) - return timestamp - base; - return timestamp++ - base; -} - -void __udelay(unsigned long usec) -{ - u32 i; - - if (tmr) { - i = get_timer(0); - while ((get_timer(0) - i) < (usec / 1000)) - ; - } else { - for (i = 0; i < (usec * XILINX_CLOCK_FREQ / 10000000); i++) - ; - } -} - -#ifndef CONFIG_SPL_BUILD -static void timer_isr(void *arg) -{ - timestamp++; - tmr->control = tmr->control | TIMER_INTERRUPT; -} - -int timer_init (void) -{ - int irq = -1; - u32 preload = 0; - u32 ret = 0; - -#if defined(CONFIG_SYS_TIMER_0_ADDR) && defined(CONFIG_SYS_INTC_0_NUM) - preload = XILINX_CLOCK_FREQ / CONFIG_SYS_HZ; - irq = CONFIG_SYS_TIMER_0_IRQ; - tmr = (microblaze_timer_t *) (CONFIG_SYS_TIMER_0_ADDR); -#endif - - if (tmr && preload && irq >= 0) { - tmr->loadreg = preload; - tmr->control = TIMER_INTERRUPT | TIMER_RESET; - tmr->control = TIMER_ENABLE | TIMER_ENABLE_INTR |\ - TIMER_RELOAD | TIMER_DOWN_COUNT; - timestamp = 0; - ret = install_interrupt_handler (irq, timer_isr, (void *)tmr); - if (ret) - tmr = NULL; - } - /* No problem if timer is not found/initialized */ - return 0; -} -#else -int timer_init(void) -{ - return 0; -} -#endif - -/* - * This function is derived from PowerPC code (read timebase as long long). - * On Microblaze it just returns the timer value. - */ -unsigned long long get_ticks(void) -{ - return get_timer(0); -} - -/* - * This function is derived from PowerPC code (timebase clock frequency). - * On Microblaze it returns the number of timer ticks per second. - */ -ulong get_tbclk(void) -{ - return CONFIG_SYS_HZ; -} diff --git a/qemu/roms/u-boot/arch/microblaze/cpu/u-boot-spl.lds b/qemu/roms/u-boot/arch/microblaze/cpu/u-boot-spl.lds deleted file mode 100644 index 96353cd96..000000000 --- a/qemu/roms/u-boot/arch/microblaze/cpu/u-boot-spl.lds +++ /dev/null @@ -1,57 +0,0 @@ -/* - * (C) Copyright 2013 - 2014 Xilinx, Inc - * - * Michal Simek - * - * SPDX-License-Identifier: GPL-2.0+ - */ - -#include - -OUTPUT_ARCH(microblaze) -ENTRY(_start) - -SECTIONS -{ - .text ALIGN(0x4): - { - __text_start = .; - arch/microblaze/cpu/start.o (.text) - *(.text) - *(.text.*) - __text_end = .; - } - - .rodata ALIGN(0x4): - { - __rodata_start = .; - *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) - __rodata_end = .; - } - - .data ALIGN(0x4): - { - __data_start = .; - *(.data) - *(.data.*) - __data_end = .; - } - - .bss ALIGN(0x4): - { - __bss_start = .; - *(.sbss) - *(.scommon) - *(.bss) - *(.bss.*) - *(COMMON) - . = ALIGN(4); - __bss_end = .; - } - __end = . ; -} - -#if defined(CONFIG_SPL_MAX_FOOTPRINT) -ASSERT(__end - _start < (CONFIG_SPL_MAX_FOOTPRINT), \ - "SPL image plus BSS too big"); -#endif diff --git a/qemu/roms/u-boot/arch/microblaze/cpu/u-boot.lds b/qemu/roms/u-boot/arch/microblaze/cpu/u-boot.lds deleted file mode 100644 index fdad20753..000000000 --- a/qemu/roms/u-boot/arch/microblaze/cpu/u-boot.lds +++ /dev/null @@ -1,55 +0,0 @@ -/* - * (C) Copyright 2004 Atmark Techno, Inc. - * - * Yasushi SHOJI - * - * SPDX-License-Identifier: GPL-2.0+ - */ - -OUTPUT_ARCH(microblaze) -ENTRY(_start) - -SECTIONS -{ - .text ALIGN(0x4): - { - __text_start = .; - arch/microblaze/cpu/start.o (.text) - *(.text) - __text_end = .; - } - - .rodata ALIGN(0x4): - { - __rodata_start = .; - *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) - __rodata_end = .; - } - - .data ALIGN(0x4): - { - __data_start = .; -#ifdef CONFIG_OF_EMBED - dts/built-in.o (.data) -#endif - *(.data) - __data_end = .; - } - - . = ALIGN(4); - .u_boot_list : { - KEEP(*(SORT(.u_boot_list*))); - } - - .bss ALIGN(0x4): - { - __bss_start = .; - *(.sbss) - *(.scommon) - *(.bss) - *(COMMON) - . = ALIGN(4); - __bss_end = .; - } - __end = . ; -} diff --git a/qemu/roms/u-boot/arch/microblaze/dts/.gitignore b/qemu/roms/u-boot/arch/microblaze/dts/.gitignore deleted file mode 100644 index b60ed208c..000000000 --- a/qemu/roms/u-boot/arch/microblaze/dts/.gitignore +++ /dev/null @@ -1 +0,0 @@ -*.dtb diff --git a/qemu/roms/u-boot/arch/microblaze/dts/Makefile b/qemu/roms/u-boot/arch/microblaze/dts/Makefile deleted file mode 100644 index 6d4a11f62..000000000 --- a/qemu/roms/u-boot/arch/microblaze/dts/Makefile +++ /dev/null @@ -1,11 +0,0 @@ -dtb-y += microblaze-generic.dtb - -targets += $(dtb-y) - -DTC_FLAGS += -R 4 -p 0x1000 - -PHONY += dtbs -dtbs: $(addprefix $(obj)/, $(dtb-y)) - @: - -clean-files := *.dtb diff --git a/qemu/roms/u-boot/arch/microblaze/dts/microblaze-generic.dts b/qemu/roms/u-boot/arch/microblaze/dts/microblaze-generic.dts deleted file mode 100644 index 203330987..000000000 --- a/qemu/roms/u-boot/arch/microblaze/dts/microblaze-generic.dts +++ /dev/null @@ -1,7 +0,0 @@ -/dts-v1/; -/ { - #address-cells = <1>; - #size-cells = <1>; - aliases { - } ; -} ; diff --git a/qemu/roms/u-boot/arch/microblaze/include/asm/asm.h b/qemu/roms/u-boot/arch/microblaze/include/asm/asm.h deleted file mode 100644 index c1c3b0398..000000000 --- a/qemu/roms/u-boot/arch/microblaze/include/asm/asm.h +++ /dev/null @@ -1,82 +0,0 @@ -/* - * (C) Copyright 2007 Michal Simek - * - * Michal SIMEK - * - * SPDX-License-Identifier: GPL-2.0+ - */ - -/* FSL macros */ -#define NGET(val, fslnum) \ - __asm__ __volatile__ ("nget %0, rfsl" #fslnum :"=r" (val)); - -#define GET(val, fslnum) \ - __asm__ __volatile__ ("get %0, rfsl" #fslnum :"=r" (val)); - -#define NCGET(val, fslnum) \ - __asm__ __volatile__ ("ncget %0, rfsl" #fslnum :"=r" (val)); - -#define CGET(val, fslnum) \ - __asm__ __volatile__ ("cget %0, rfsl" #fslnum :"=r" (val)); - -#define NPUT(val, fslnum) \ - __asm__ __volatile__ ("nput %0, rfsl" #fslnum ::"r" (val)); - -#define PUT(val, fslnum) \ - __asm__ __volatile__ ("put %0, rfsl" #fslnum ::"r" (val)); - -#define NCPUT(val, fslnum) \ - __asm__ __volatile__ ("ncput %0, rfsl" #fslnum ::"r" (val)); - -#define CPUT(val, fslnum) \ - __asm__ __volatile__ ("cput %0, rfsl" #fslnum ::"r" (val)); - -/* CPU dependent */ -/* machine status register */ -#define MFS(val, reg) \ - __asm__ __volatile__ ("mfs %0," #reg :"=r" (val)); - -#define MTS(val, reg) \ - __asm__ __volatile__ ("mts " #reg ", %0"::"r" (val)); - -/* get return address from interrupt */ -#define R14(val) \ - __asm__ __volatile__ ("addi %0, r14, 0":"=r" (val)); - -#define NOP __asm__ __volatile__ ("nop"); - -/* use machine status registe USE_MSR_REG */ -#if XILINX_USE_MSR_INSTR == 1 -#define MSRSET(val) \ - __asm__ __volatile__ ("msrset r0," #val ); - -#define MSRCLR(val) \ - __asm__ __volatile__ ("msrclr r0," #val ); - -#else -#define MSRSET(val) \ -{ \ - register unsigned tmp; \ - __asm__ __volatile__ (" \ - mfs %0, rmsr; \ - ori %0, %0, "#val"; \ - mts rmsr, %0; \ - nop;" \ - : "=r" (tmp) \ - : "d" (val) \ - : "memory"); \ -} - -#define MSRCLR(val) \ -{ \ - register unsigned tmp; \ - __asm__ __volatile__ (" \ - mfs %0, rmsr; \ - andi %0, %0, ~"#val"; \ - mts rmsr, %0; \ - nop;" \ - : "=r" (tmp) \ - : "d" (val) \ - : "memory"); \ -} -#endif diff --git a/qemu/roms/u-boot/arch/microblaze/include/asm/bitops.h b/qemu/roms/u-boot/arch/microblaze/include/asm/bitops.h deleted file mode 100644 index 0ac78d76f..000000000 --- a/qemu/roms/u-boot/arch/microblaze/include/asm/bitops.h +++ /dev/null @@ -1,392 +0,0 @@ -#ifndef _MICROBLAZE_BITOPS_H -#define _MICROBLAZE_BITOPS_H - -/* - * Copyright 1992, Linus Torvalds. - */ - -#include /* swab32 */ -#include /* save_flags */ - -#ifdef __KERNEL__ -/* - * Function prototypes to keep gcc -Wall happy - */ - -/* - * The __ functions are not atomic - */ - -extern void set_bit(int nr, volatile void * addr); -extern void __set_bit(int nr, volatile void * addr); - -extern void clear_bit(int nr, volatile void * addr); -#define __clear_bit(nr, addr) clear_bit(nr, addr) -#define PLATFORM__CLEAR_BIT - -extern void change_bit(int nr, volatile void * addr); -extern void __change_bit(int nr, volatile void * addr); -extern int test_and_set_bit(int nr, volatile void * addr); -extern int __test_and_set_bit(int nr, volatile void * addr); -extern int test_and_clear_bit(int nr, volatile void * addr); -extern int __test_and_clear_bit(int nr, volatile void * addr); -extern int test_and_change_bit(int nr, volatile void * addr); -extern int __test_and_change_bit(int nr, volatile void * addr); -extern int __constant_test_bit(int nr, const volatile void * addr); -extern int __test_bit(int nr, volatile void * addr); -extern int find_first_zero_bit(void * addr, unsigned size); -extern int find_next_zero_bit (void * addr, int size, int offset); - -/* - * ffz = Find First Zero in word. Undefined if no zero exists, - * so code should check against ~0UL first.. - */ -extern __inline__ unsigned long ffz(unsigned long word) -{ - unsigned long result = 0; - - while(word & 1) { - result++; - word >>= 1; - } - return result; -} - - -extern __inline__ void set_bit(int nr, volatile void * addr) -{ - int * a = (int *) addr; - int mask; - unsigned long flags; - - a += nr >> 5; - mask = 1 << (nr & 0x1f); - save_flags_cli(flags); - *a |= mask; - restore_flags(flags); -} - -extern __inline__ void __set_bit(int nr, volatile void * addr) -{ - int * a = (int *) addr; - int mask; - - a += nr >> 5; - mask = 1 << (nr & 0x1f); - *a |= mask; -} -#define PLATFORM__SET_BIT - -/* - * clear_bit() doesn't provide any barrier for the compiler. - */ -#define smp_mb__before_clear_bit() barrier() -#define smp_mb__after_clear_bit() barrier() - -extern __inline__ void clear_bit(int nr, volatile void * addr) -{ - int * a = (int *) addr; - int mask; - unsigned long flags; - - a += nr >> 5; - mask = 1 << (nr & 0x1f); - save_flags_cli(flags); - *a &= ~mask; - restore_flags(flags); -} - -extern __inline__ void change_bit(int nr, volatile void * addr) -{ - int mask; - unsigned long flags; - unsigned long *ADDR = (unsigned long *) addr; - - ADDR += nr >> 5; - mask = 1 << (nr & 31); - save_flags_cli(flags); - *ADDR ^= mask; - restore_flags(flags); -} - -extern __inline__ void __change_bit(int nr, volatile void * addr) -{ - int mask; - unsigned long *ADDR = (unsigned long *) addr; - - ADDR += nr >> 5; - mask = 1 << (nr & 31); - *ADDR ^= mask; -} - -extern __inline__ int test_and_set_bit(int nr, volatile void * addr) -{ - int mask, retval; - volatile unsigned int *a = (volatile unsigned int *) addr; - unsigned long flags; - - a += nr >> 5; - mask = 1 << (nr & 0x1f); - save_flags_cli(flags); - retval = (mask & *a) != 0; - *a |= mask; - restore_flags(flags); - - return retval; -} - -extern __inline__ int __test_and_set_bit(int nr, volatile void * addr) -{ - int mask, retval; - volatile unsigned int *a = (volatile unsigned int *) addr; - - a += nr >> 5; - mask = 1 << (nr & 0x1f); - retval = (mask & *a) != 0; - *a |= mask; - return retval; -} - -extern __inline__ int test_and_clear_bit(int nr, volatile void * addr) -{ - int mask, retval; - volatile unsigned int *a = (volatile unsigned int *) addr; - unsigned long flags; - - a += nr >> 5; - mask = 1 << (nr & 0x1f); - save_flags_cli(flags); - retval = (mask & *a) != 0; - *a &= ~mask; - restore_flags(flags); - - return retval; -} - -extern __inline__ int __test_and_clear_bit(int nr, volatile void * addr) -{ - int mask, retval; - volatile unsigned int *a = (volatile unsigned int *) addr; - - a += nr >> 5; - mask = 1 << (nr & 0x1f); - retval = (mask & *a) != 0; - *a &= ~mask; - return retval; -} - -extern __inline__ int test_and_change_bit(int nr, volatile void * addr) -{ - int mask, retval; - volatile unsigned int *a = (volatile unsigned int *) addr; - unsigned long flags; - - a += nr >> 5; - mask = 1 << (nr & 0x1f); - save_flags_cli(flags); - retval = (mask & *a) != 0; - *a ^= mask; - restore_flags(flags); - - return retval; -} - -extern __inline__ int __test_and_change_bit(int nr, volatile void * addr) -{ - int mask, retval; - volatile unsigned int *a = (volatile unsigned int *) addr; - - a += nr >> 5; - mask = 1 << (nr & 0x1f); - retval = (mask & *a) != 0; - *a ^= mask; - return retval; -} - -/* - * This routine doesn't need to be atomic. - */ -extern __inline__ int __constant_test_bit(int nr, const volatile void * addr) -{ - return ((1UL << (nr & 31)) & (((const volatile unsigned int *) addr)[nr >> 5])) != 0; -} - -extern __inline__ int __test_bit(int nr, volatile void * addr) -{ - int * a = (int *) addr; - int mask; - - a += nr >> 5; - mask = 1 << (nr & 0x1f); - return ((mask & *a) != 0); -} - -#define test_bit(nr,addr) \ -(__builtin_constant_p(nr) ? \ - __constant_test_bit((nr),(addr)) : \ - __test_bit((nr),(addr))) - -#define find_first_zero_bit(addr, size) \ - find_next_zero_bit((addr), (size), 0) - -extern __inline__ int find_next_zero_bit (void * addr, int size, int offset) -{ - unsigned long *p = ((unsigned long *) addr) + (offset >> 5); - unsigned long result = offset & ~31UL; - unsigned long tmp; - - if (offset >= size) - return size; - size -= result; - offset &= 31UL; - if (offset) { - tmp = *(p++); - tmp |= ~0UL >> (32-offset); - if (size < 32) - goto found_first; - if (~tmp) - goto found_middle; - size -= 32; - result += 32; - } - while (size & ~31UL) { - if (~(tmp = *(p++))) - goto found_middle; - result += 32; - size -= 32; - } - if (!size) - return result; - tmp = *p; - -found_first: - tmp |= ~0UL >> size; -found_middle: - return result + ffz(tmp); -} - -/* - * hweightN: returns the hamming weight (i.e. the number - * of bits set) of a N-bit word - */ - -#define hweight32(x) generic_hweight32(x) -#define hweight16(x) generic_hweight16(x) -#define hweight8(x) generic_hweight8(x) - - -extern __inline__ int ext2_set_bit(int nr, volatile void * addr) -{ - int mask, retval; - unsigned long flags; - volatile unsigned char *ADDR = (unsigned char *) addr; - - ADDR += nr >> 3; - mask = 1 << (nr & 0x07); - save_flags_cli(flags); - retval = (mask & *ADDR) != 0; - *ADDR |= mask; - restore_flags(flags); - return retval; -} - -extern __inline__ int ext2_clear_bit(int nr, volatile void * addr) -{ - int mask, retval; - unsigned long flags; - volatile unsigned char *ADDR = (unsigned char *) addr; - - ADDR += nr >> 3; - mask = 1 << (nr & 0x07); - save_flags_cli(flags); - retval = (mask & *ADDR) != 0; - *ADDR &= ~mask; - restore_flags(flags); - return retval; -} - -extern __inline__ int ext2_test_bit(int nr, const volatile void * addr) -{ - int mask; - const volatile unsigned char *ADDR = (const unsigned char *) addr; - - ADDR += nr >> 3; - mask = 1 << (nr & 0x07); - return ((mask & *ADDR) != 0); -} - -#define ext2_find_first_zero_bit(addr, size) \ - ext2_find_next_zero_bit((addr), (size), 0) - -static inline unsigned long ext2_find_next_zero_bit(void *addr, - unsigned long size, unsigned long offset) -{ - unsigned long *p = ((unsigned long *) addr) + (offset >> 5); - unsigned long result = offset & ~31UL; - unsigned long tmp; - - if (offset >= size) - return size; - size -= result; - offset &= 31UL; - if(offset) { - /* We hold the little endian value in tmp, but then the - * shift is illegal. So we could keep a big endian value - * in tmp, like this: - * - * tmp = __swab32(*(p++)); - * tmp |= ~0UL >> (32-offset); - * - * but this would decrease preformance, so we change the - * shift: - */ - tmp = *(p++); - tmp |= __swab32(~0UL >> (32-offset)); - if(size < 32) - goto found_first; - if(~tmp) - goto found_middle; - size -= 32; - result += 32; - } - while(size & ~31UL) { - if(~(tmp = *(p++))) - goto found_middle; - result += 32; - size -= 32; - } - if(!size) - return result; - tmp = *p; - -found_first: - /* tmp is little endian, so we would have to swab the shift, - * see above. But then we have to swab tmp below for ffz, so - * we might as well do this here. - */ - return result + ffz(__swab32(tmp) | (~0UL << size)); -found_middle: - return result + ffz(__swab32(tmp)); -} - -/* Bitmap functions for the minix filesystem. */ -#define minix_test_and_set_bit(nr,addr) test_and_set_bit(nr,addr) -#define minix_set_bit(nr,addr) set_bit(nr,addr) -#define minix_test_and_clear_bit(nr,addr) test_and_clear_bit(nr,addr) -#define minix_test_bit(nr,addr) test_bit(nr,addr) -#define minix_find_first_zero_bit(addr,size) find_first_zero_bit(addr,size) - -/** - * hweightN - returns the hamming weight of a N-bit word - * @x: the word to weigh - * - * The Hamming Weight of a number is the total number of bits set in it. - */ - -#define hweight32(x) generic_hweight32(x) -#define hweight16(x) generic_hweight16(x) -#define hweight8(x) generic_hweight8(x) - -#endif /* __KERNEL__ */ - -#endif /* _MICROBLAZE_BITOPS_H */ diff --git a/qemu/roms/u-boot/arch/microblaze/include/asm/byteorder.h b/qemu/roms/u-boot/arch/microblaze/include/asm/byteorder.h deleted file mode 100644 index f3a471d1b..000000000 --- a/qemu/roms/u-boot/arch/microblaze/include/asm/byteorder.h +++ /dev/null @@ -1,36 +0,0 @@ -/* - * include/asm-microblaze/byteorder.h -- Endian id and conversion ops - * - * Copyright (C) 2003 John Williams - * Copyright (C) 2001 NEC Corporation - * Copyright (C) 2001 Miles Bader - * - * This file is subject to the terms and conditions of the GNU General - * Public License. See the file COPYING in the main directory of this - * archive for more details. - * - * Written by Miles Bader - * Microblaze port by John Williams - */ - -#ifndef __MICROBLAZE_BYTEORDER_H__ -#define __MICROBLAZE_BYTEORDER_H__ - -#include - -#ifdef __GNUC__ - -#if !defined(__STRICT_ANSI__) || defined(__KERNEL__) -# define __BYTEORDER_HAS_U64__ -# define __SWAB_64_THRU_32__ -#endif - -#endif /* __GNUC__ */ - -#ifdef __MICROBLAZEEL__ -#include -#else -#include -#endif - -#endif /* __MICROBLAZE_BYTEORDER_H__ */ diff --git a/qemu/roms/u-boot/arch/microblaze/include/asm/cache.h b/qemu/roms/u-boot/arch/microblaze/include/asm/cache.h deleted file mode 100644 index d02d57a5f..000000000 --- a/qemu/roms/u-boot/arch/microblaze/include/asm/cache.h +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Copyright (c) 2011 The Chromium OS Authors. - * - * SPDX-License-Identifier: GPL-2.0+ - */ - -#ifndef __MICROBLAZE_CACHE_H__ -#define __MICROBLAZE_CACHE_H__ - -/* - * The microblaze can have either a 4 or 16 byte cacheline depending on whether - * you are using OPB(4) or CacheLink(16). If the board config has not specified - * a cacheline size we assume the larger value of 16 bytes for DMA buffer - * alignment. - */ -#ifdef CONFIG_SYS_CACHELINE_SIZE -#define ARCH_DMA_MINALIGN CONFIG_SYS_CACHELINE_SIZE -#else -#define ARCH_DMA_MINALIGN 16 -#endif - -#endif /* __MICROBLAZE_CACHE_H__ */ diff --git a/qemu/roms/u-boot/arch/microblaze/include/asm/config.h b/qemu/roms/u-boot/arch/microblaze/include/asm/config.h deleted file mode 100644 index cd2973478..000000000 --- a/qemu/roms/u-boot/arch/microblaze/include/asm/config.h +++ /dev/null @@ -1,10 +0,0 @@ -/* - * Copyright 2009 Freescale Semiconductor, Inc. - * - * SPDX-License-Identifier: GPL-2.0+ - */ - -#ifndef _ASM_CONFIG_H_ -#define _ASM_CONFIG_H_ - -#endif diff --git a/qemu/roms/u-boot/arch/microblaze/include/asm/errno.h b/qemu/roms/u-boot/arch/microblaze/include/asm/errno.h deleted file mode 100644 index 4c82b503d..000000000 --- a/qemu/roms/u-boot/arch/microblaze/include/asm/errno.h +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/qemu/roms/u-boot/arch/microblaze/include/asm/global_data.h b/qemu/roms/u-boot/arch/microblaze/include/asm/global_data.h deleted file mode 100644 index a0bab6ec5..000000000 --- a/qemu/roms/u-boot/arch/microblaze/include/asm/global_data.h +++ /dev/null @@ -1,20 +0,0 @@ -/* - * (C) Copyright 2004 Atmark Techno, Inc. - * - * Yasushi SHOJI - * - * SPDX-License-Identifier: GPL-2.0+ - */ - -#ifndef __ASM_GBL_DATA_H -#define __ASM_GBL_DATA_H - -/* Architecture-specific global data */ -struct arch_global_data { -}; - -#include - -#define DECLARE_GLOBAL_DATA_PTR register volatile gd_t *gd asm ("r31") - -#endif /* __ASM_GBL_DATA_H */ diff --git a/qemu/roms/u-boot/arch/microblaze/include/asm/gpio.h b/qemu/roms/u-boot/arch/microblaze/include/asm/gpio.h deleted file mode 100644 index 4762de024..000000000 --- a/qemu/roms/u-boot/arch/microblaze/include/asm/gpio.h +++ /dev/null @@ -1,14 +0,0 @@ -#ifndef _ASM_MICROBLAZE_GPIO_H_ -#define _ASM_MICROBLAZE_GPIO_H_ - -#include - -/* Allocation functions */ -extern int gpio_alloc_dual(u32 baseaddr, const char *name, u32 gpio_no0, - u32 gpio_no1); -extern int gpio_alloc(u32 baseaddr, const char *name, u32 gpio_no); - -#define gpio_status() gpio_info() -extern void gpio_info(void); - -#endif diff --git a/qemu/roms/u-boot/arch/microblaze/include/asm/io.h b/qemu/roms/u-boot/arch/microblaze/include/asm/io.h deleted file mode 100644 index 584cbce35..000000000 --- a/qemu/roms/u-boot/arch/microblaze/include/asm/io.h +++ /dev/null @@ -1,163 +0,0 @@ -/* - * include/asm-microblaze/io.h -- Misc I/O operations - * - * Copyright (C) 2003 John Williams - * Copyright (C) 2001,02 NEC Corporation - * Copyright (C) 2001,02 Miles Bader - * - * This file is subject to the terms and conditions of the GNU General - * Public License. See the file COPYING in the main directory of this - * archive for more details. - * - * Written by Miles Bader - * Microblaze port by John Williams - */ - -#ifndef __MICROBLAZE_IO_H__ -#define __MICROBLAZE_IO_H__ - -#include - -#define IO_SPACE_LIMIT 0xFFFFFFFF - -#define readb(addr) \ - ({ unsigned char __v = (*(volatile unsigned char *) (addr)); __v; }) -#define readw(addr) \ - ({ unsigned short __v = (*(volatile unsigned short *) (addr)); __v; }) -#define readl(addr) \ - ({ unsigned int __v = (*(volatile unsigned int *) (addr)); __v; }) - -#define writeb(b, addr) \ - (void)((*(volatile unsigned char *) (addr)) = (b)) -#define writew(b, addr) \ - (void)((*(volatile unsigned short *) (addr)) = (b)) -#define writel(b, addr) \ - (void)((*(volatile unsigned int *) (addr)) = (b)) - -#define memset_io(a,b,c) memset((void *)(a),(b),(c)) -#define memcpy_fromio(a,b,c) memcpy((a),(void *)(b),(c)) -#define memcpy_toio(a,b,c) memcpy((void *)(a),(b),(c)) - -#define inb(addr) readb (addr) -#define inw(addr) readw (addr) -#define inl(addr) readl (addr) -#define outb(x, addr) ((void) writeb (x, addr)) -#define outw(x, addr) ((void) writew (x, addr)) -#define outl(x, addr) ((void) writel (x, addr)) - -/* Some #definitions to keep strange Xilinx code happy */ -#define in_8(addr) readb (addr) -#define in_be16(addr) readw (addr) -#define in_be32(addr) readl (addr) - -#define out_8(addr,x ) outb (x,addr) -#define out_be16(addr,x ) outw (x,addr) -#define out_be32(addr,x ) outl (x,addr) - - -#define inb_p(port) inb((port)) -#define outb_p(val, port) outb((val), (port)) -#define inw_p(port) inw((port)) -#define outw_p(val, port) outw((val), (port)) -#define inl_p(port) inl((port)) -#define outl_p(val, port) outl((val), (port)) - -/* Some defines to keep the MTD flash drivers happy */ - -#define __raw_readb readb -#define __raw_readw readw -#define __raw_readl readl -#define __raw_writeb writeb -#define __raw_writew writew -#define __raw_writel writel - -static inline void io_insb (unsigned long port, void *dst, unsigned long count) -{ - unsigned char *p = dst; - while (count--) - *p++ = inb (port); -} -static inline void io_insw (unsigned long port, void *dst, unsigned long count) -{ - unsigned short *p = dst; - while (count--) - *p++ = inw (port); -} -static inline void io_insl (unsigned long port, void *dst, unsigned long count) -{ - unsigned long *p = dst; - while (count--) - *p++ = inl (port); -} - -static inline void -io_outsb (unsigned long port, const void *src, unsigned long count) -{ - const unsigned char *p = src; - while (count--) - outb (*p++, port); -} -static inline void -io_outsw (unsigned long port, const void *src, unsigned long count) -{ - const unsigned short *p = src; - while (count--) - outw (*p++, port); -} -static inline void -io_outsl (unsigned long port, const void *src, unsigned long count) -{ - const unsigned long *p = src; - while (count--) - outl (*p++, port); -} - -#define outsb(a,b,l) io_outsb(a,b,l) -#define outsw(a,b,l) io_outsw(a,b,l) -#define outsl(a,b,l) io_outsl(a,b,l) - -#define insb(a,b,l) io_insb(a,b,l) -#define insw(a,b,l) io_insw(a,b,l) -#define insl(a,b,l) io_insl(a,b,l) - - -#define iounmap(addr) ((void)0) -#define ioremap(physaddr, size) (physaddr) -#define ioremap_nocache(physaddr, size) (physaddr) -#define ioremap_writethrough(physaddr, size) (physaddr) -#define ioremap_fullcache(physaddr, size) (physaddr) - -static inline void sync(void) -{ -} - -/* - * Given a physical address and a length, return a virtual address - * that can be used to access the memory range with the caching - * properties specified by "flags". - */ -#define MAP_NOCACHE (0) -#define MAP_WRCOMBINE (0) -#define MAP_WRBACK (0) -#define MAP_WRTHROUGH (0) - -static inline void * -map_physmem(phys_addr_t paddr, unsigned long len, unsigned long flags) -{ - return (void *)paddr; -} - -/* - * Take down a mapping set up by map_physmem(). - */ -static inline void unmap_physmem(void *vaddr, unsigned long flags) -{ - -} - -static inline phys_addr_t virt_to_phys(void * vaddr) -{ - return (phys_addr_t)(vaddr); -} - -#endif /* __MICROBLAZE_IO_H__ */ diff --git a/qemu/roms/u-boot/arch/microblaze/include/asm/microblaze_intc.h b/qemu/roms/u-boot/arch/microblaze/include/asm/microblaze_intc.h deleted file mode 100644 index 0fb920788..000000000 --- a/qemu/roms/u-boot/arch/microblaze/include/asm/microblaze_intc.h +++ /dev/null @@ -1,38 +0,0 @@ -/* - * (C) Copyright 2007 Michal Simek - * - * Michal SIMEK - * - * SPDX-License-Identifier: GPL-2.0+ - */ - -typedef volatile struct microblaze_intc_t { - int isr; /* interrupt status register */ - int ipr; /* interrupt pending register */ - int ier; /* interrupt enable register */ - int iar; /* interrupt acknowledge register */ - int sie; /* set interrupt enable bits */ - int cie; /* clear interrupt enable bits */ - int ivr; /* interrupt vector register */ - int mer; /* master enable register */ -} microblaze_intc_t; - -struct irq_action { - interrupt_handler_t *handler; /* pointer to interrupt rutine */ - void *arg; - int count; /* number of interrupt */ -}; - -/** - * Register and unregister interrupt handler rutines - * - * @param irq IRQ number - * @param hdlr Interrupt handler rutine - * @param arg Pointer to argument which is passed to int. handler rutine - * @return 0 if registration pass, 1 if unregistration pass, - * or an error code < 0 otherwise - */ -int install_interrupt_handler(int irq, interrupt_handler_t *hdlr, - void *arg); - -int interrupts_init(void); diff --git a/qemu/roms/u-boot/arch/microblaze/include/asm/microblaze_timer.h b/qemu/roms/u-boot/arch/microblaze/include/asm/microblaze_timer.h deleted file mode 100644 index 0d8140201..000000000 --- a/qemu/roms/u-boot/arch/microblaze/include/asm/microblaze_timer.h +++ /dev/null @@ -1,27 +0,0 @@ -/* - * (C) Copyright 2007 Michal Simek - * - * Michal SIMEK - * - * SPDX-License-Identifier: GPL-2.0+ - */ - -#define TIMER_ENABLE_ALL 0x400 /* ENALL */ -#define TIMER_PWM 0x200 /* PWMA0 */ -#define TIMER_INTERRUPT 0x100 /* T0INT */ -#define TIMER_ENABLE 0x080 /* ENT0 */ -#define TIMER_ENABLE_INTR 0x040 /* ENIT0 */ -#define TIMER_RESET 0x020 /* LOAD0 */ -#define TIMER_RELOAD 0x010 /* ARHT0 */ -#define TIMER_EXT_CAPTURE 0x008 /* CAPT0 */ -#define TIMER_EXT_COMPARE 0x004 /* GENT0 */ -#define TIMER_DOWN_COUNT 0x002 /* UDT0 */ -#define TIMER_CAPTURE_MODE 0x001 /* MDT0 */ - -typedef volatile struct microblaze_timer_t { - int control; /* control/statuc register TCSR */ - int loadreg; /* load register TLR */ - int counter; /* timer/counter register */ -} microblaze_timer_t; - -int timer_init(void); diff --git a/qemu/roms/u-boot/arch/microblaze/include/asm/posix_types.h b/qemu/roms/u-boot/arch/microblaze/include/asm/posix_types.h deleted file mode 100644 index 38dc5aa85..000000000 --- a/qemu/roms/u-boot/arch/microblaze/include/asm/posix_types.h +++ /dev/null @@ -1,73 +0,0 @@ -/* - * include/asm-microblaze/posix_types.h -- Kernel versions of standard types - * - * Copyright (C) 2003 John Williams - * Copyright (C) 2001,2002 NEC Corporation - * Copyright (C) 2001,2002 Miles Bader - * - * This file is subject to the terms and conditions of the GNU General - * Public License. See the file COPYING in the main directory of this - * archive for more details. - * - * Written by Miles Bader - * Microblaze port by John Williams - */ - -#ifndef __MICROBLAZE_POSIX_TYPES_H__ -#define __MICROBLAZE_POSIX_TYPES_H__ - -typedef unsigned int __kernel_dev_t; -typedef unsigned long __kernel_ino_t; -typedef unsigned long long __kernel_ino64_t; -typedef unsigned int __kernel_mode_t; -typedef unsigned int __kernel_nlink_t; -typedef long __kernel_off_t; -typedef long long __kernel_loff_t; -typedef int __kernel_pid_t; -typedef unsigned short __kernel_ipc_pid_t; -typedef unsigned int __kernel_uid_t; -typedef unsigned int __kernel_gid_t; -typedef unsigned int __kernel_size_t; -typedef int __kernel_ssize_t; -typedef int __kernel_ptrdiff_t; -typedef long __kernel_time_t; -typedef long __kernel_suseconds_t; -typedef long __kernel_clock_t; -typedef int __kernel_daddr_t; -typedef char * __kernel_caddr_t; -typedef unsigned short __kernel_uid16_t; -typedef unsigned short __kernel_gid16_t; -typedef unsigned int __kernel_uid32_t; -typedef unsigned int __kernel_gid32_t; - -typedef unsigned short __kernel_old_uid_t; -typedef unsigned short __kernel_old_gid_t; - - -typedef struct { -#if defined(__KERNEL__) || defined(__USE_ALL) - int val[2]; -#else /* !defined(__KERNEL__) && !defined(__USE_ALL) */ - int __val[2]; -#endif /* !defined(__KERNEL__) && !defined(__USE_ALL) */ -} __kernel_fsid_t; - - -#if defined(__KERNEL__) || !defined(__GLIBC__) || (__GLIBC__ < 2) - -#undef __FD_SET -#define __FD_SET(fd, fd_set) \ - __set_bit (fd, (void *)&((__kernel_fd_set *)fd_set)->fds_bits) -#undef __FD_CLR -#define __FD_CLR(fd, fd_set) \ - __clear_bit (fd, (void *)&((__kernel_fd_set *)fd_set)->fds_bits) -#undef __FD_ISSET -#define __FD_ISSET(fd, fd_set) \ - __test_bit (fd, (void *)&((__kernel_fd_set *)fd_set)->fds_bits) -#undef __FD_ZERO -#define __FD_ZERO(fd_set) \ - memset (fd_set, 0, sizeof (*(fd_set *)fd_set)) - -#endif /* defined(__KERNEL__) || !defined(__GLIBC__) || (__GLIBC__ < 2) */ - -#endif /* __MICROBLAZE_POSIX_TYPES_H__ */ diff --git a/qemu/roms/u-boot/arch/microblaze/include/asm/processor.h b/qemu/roms/u-boot/arch/microblaze/include/asm/processor.h deleted file mode 100644 index 5afc8f9e5..000000000 --- a/qemu/roms/u-boot/arch/microblaze/include/asm/processor.h +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright (C) 2011 Michal Simek - * - * SPDX-License-Identifier: GPL-2.0+ - */ - -#ifndef __ASM_MICROBLAZE_PROCESSOR_H -#define __ASM_MICROBLAZE_PROCESSOR_H - -/* References to section boundaries */ - -extern char __end[]; -extern char __text_start[]; - -/* Microblaze board initialization function */ -void board_init(void); - -/* Watchdog functions */ -extern void hw_watchdog_disable(void); - -#endif /* __ASM_MICROBLAZE_PROCESSOR_H */ diff --git a/qemu/roms/u-boot/arch/microblaze/include/asm/ptrace.h b/qemu/roms/u-boot/arch/microblaze/include/asm/ptrace.h deleted file mode 100644 index b796d4faf..000000000 --- a/qemu/roms/u-boot/arch/microblaze/include/asm/ptrace.h +++ /dev/null @@ -1,116 +0,0 @@ -/* - * include/asm-microblaze/ptrace.h -- Access to CPU registers - * - * Copyright (C) 2003 John Williams - * Copyright (C) 2001,2002 NEC Corporation - * Copyright (C) 2001,2002 Miles Bader - * - * This file is subject to the terms and conditions of the GNU General - * Public License. See the file COPYING in the main directory of this - * archive for more details. - * - * Written by Miles Bader - * Microblaze port by John Williams - */ - -#ifndef __MICROBLAZE_PTRACE_H__ -#define __MICROBLAZE_PTRACE_H__ - - -/* Microblaze general purpose registers with special meanings. */ -#define GPR_ZERO 0 /* constant zero */ -#define GPR_ASM 18 /* reserved for assembler */ -#define GPR_SP 1 /* stack pointer */ -#define GPR_GP 2 /* global data pointer */ -#define GPR_EP 30 /* `element pointer' */ -#define GPR_LP 15 /* link pointer (current return address) */ - -/* These aren't official names, but they make some code more descriptive. */ -#define GPR_ARG0 5 -#define GPR_ARG1 6 -#define GPR_ARG2 7 -#define GPR_ARG3 8 -#define GPR_ARG4 9 -#define GPR_ARG5 10 -#define GPR_RVAL0 3 -#define GPR_RVAL1 4 -#define GPR_RVAL GPR_RVAL0 - -#define NUM_GPRS 32 - -/* `system' registers. */ -/* Note these are old v850 values, microblaze has many fewer */ -#define SR_EIPC 0 -#define SR_EIPSW 1 -#define SR_FEPC 2 -#define SR_FEPSW 3 -#define SR_ECR 4 -#define SR_PSW 5 -#define SR_CTPC 16 -#define SR_CTPSW 17 -#define SR_DBPC 18 -#define SR_DBPSW 19 -#define SR_CTBP 20 -#define SR_DIR 21 -#define SR_ASID 23 - - -#ifndef __ASSEMBLY__ - -typedef unsigned long microblaze_reg_t; - -/* How processor state is stored on the stack during a syscall/signal. - If you change this structure, change the associated assembly-language - macros below too (PT_*)! */ -struct pt_regs -{ - /* General purpose registers. */ - microblaze_reg_t gpr[NUM_GPRS]; - - microblaze_reg_t pc; /* program counter */ - microblaze_reg_t psw; /* program status word */ - - microblaze_reg_t kernel_mode; /* 1 if in `kernel mode', 0 if user mode */ - microblaze_reg_t single_step; /* 1 if in single step mode */ -}; - - -#define instruction_pointer(regs) ((regs)->pc) -#define user_mode(regs) (!(regs)->kernel_mode) - -/* When a struct pt_regs is used to save user state for a system call in - the kernel, the system call is stored in the space for R0 (since it's - never used otherwise, R0 being a constant 0). Non-system-calls - simply store 0 there. */ -#define PT_REGS_SYSCALL(regs) (regs)->gpr[0] -#define PT_REGS_SET_SYSCALL(regs, val) ((regs)->gpr[0] = (val)) - -#endif /* !__ASSEMBLY__ */ - - -/* The number of bytes used to store each register. */ -#define _PT_REG_SIZE 4 - -/* Offset of a general purpose register in a stuct pt_regs. */ -#define PT_GPR(num) ((num) * _PT_REG_SIZE) - -/* Offsets of various special registers & fields in a struct pt_regs. */ -#define NUM_SPECIAL 4 -#define PT_PC ((NUM_GPRS + 0) * _PT_REG_SIZE) -#define PT_PSW ((NUM_GPRS + 1) * _PT_REG_SIZE) -#define PT_KERNEL_MODE ((NUM_GPRS + 2) * _PT_REG_SIZE) -#define PT_SINGLESTEP ((NUM_GPRS + 3) * _PT_REG_SIZE) - -#define PT_SYSCALL PT_GPR(0) - -/* Size of struct pt_regs, including alignment. */ -#define PT_SIZE ((NUM_GPRS + NUM_SPECIAL) * _PT_REG_SIZE) - -/* These are `magic' values for PTRACE_PEEKUSR that return info about where - a process is located in memory. */ -#define PT_TEXT_ADDR (PT_SIZE + 1) -#define PT_TEXT_LEN (PT_SIZE + 2) -#define PT_DATA_ADDR (PT_SIZE + 3) -#define PT_DATA_LEN (PT_SIZE + 4) - -#endif /* __MICROBLAZE_PTRACE_H__ */ diff --git a/qemu/roms/u-boot/arch/microblaze/include/asm/sections.h b/qemu/roms/u-boot/arch/microblaze/include/asm/sections.h deleted file mode 100644 index 506fc4344..000000000 --- a/qemu/roms/u-boot/arch/microblaze/include/asm/sections.h +++ /dev/null @@ -1,11 +0,0 @@ -/* - * Copyright (c) 2012 The Chromium OS Authors. - * SPDX-License-Identifier: GPL-2.0+ - */ - -#ifndef __ASM_MICROBLAZE_SECTIONS_H -#define __ASM_MICROBLAZE_SECTIONS_H - -#include - -#endif diff --git a/qemu/roms/u-boot/arch/microblaze/include/asm/spl.h b/qemu/roms/u-boot/arch/microblaze/include/asm/spl.h deleted file mode 100644 index c1cae6cf0..000000000 --- a/qemu/roms/u-boot/arch/microblaze/include/asm/spl.h +++ /dev/null @@ -1,16 +0,0 @@ -/* - * (C) Copyright 2013 - 2014 Xilinx, Inc - * - * Michal Simek - * - * SPDX-License-Identifier: GPL-2.0+ - */ - -#ifndef _ASM_MICROBLAZE_SPL_H_ -#define _ASM_MICROBLAZE_SPL_H_ - -#define BOOT_DEVICE_RAM 1 -#define BOOT_DEVICE_NOR 2 -#define BOOT_DEVICE_SPI 3 - -#endif diff --git a/qemu/roms/u-boot/arch/microblaze/include/asm/string.h b/qemu/roms/u-boot/arch/microblaze/include/asm/string.h deleted file mode 100644 index 724f5bdfa..000000000 --- a/qemu/roms/u-boot/arch/microblaze/include/asm/string.h +++ /dev/null @@ -1,31 +0,0 @@ -/* - * include/asm-microblaze/string.h -- Architecture specific string routines - * - * Copyright (C) 2003 John Williams - * Copyright (C) 2001,2002 NEC Corporation - * Copyright (C) 2001,2002 Miles Bader - * - * This file is subject to the terms and conditions of the GNU General - * Public License. See the file COPYING in the main directory of this - * archive for more details. - * - * Written by Miles Bader - * Microblaze port by John Williams - */ - -#ifndef __MICROBLAZE_STRING_H__ -#define __MICROBLAZE_STRING_H__ - -#if 0 -#define __HAVE_ARCH_BCOPY -#define __HAVE_ARCH_MEMCPY -#define __HAVE_ARCH_MEMSET -#define __HAVE_ARCH_MEMMOVE - -extern void *memcpy (void *, const void *, __kernel_size_t); -extern void bcopy (const char *, char *, int); -extern void *memset (void *, int, __kernel_size_t); -extern void *memmove (void *, const void *, __kernel_size_t); -#endif - -#endif /* __MICROBLAZE_STRING_H__ */ diff --git a/qemu/roms/u-boot/arch/microblaze/include/asm/system.h b/qemu/roms/u-boot/arch/microblaze/include/asm/system.h deleted file mode 100644 index 0297a1159..000000000 --- a/qemu/roms/u-boot/arch/microblaze/include/asm/system.h +++ /dev/null @@ -1,161 +0,0 @@ -/* - * include/asm-microblaze/system.h -- Low-level interrupt/thread ops - * - * Copyright (C) 2003 John Williams (jwilliams@itee.uq.edu.au) - * based upon microblaze version - * Copyright (C) 2001 NEC Corporation - * Copyright (C) 2001 Miles Bader - * - * This file is subject to the terms and conditions of the GNU General - * Public License. See the file COPYING in the main directory of this - * archive for more details. - * - * Written by Miles Bader - * Microblaze port by John Williams - * Microblaze port by John Williams - */ - -#ifndef __MICROBLAZE_SYSTEM_H__ -#define __MICROBLAZE_SYSTEM_H__ - -#if 0 -#include -#endif -#include - -#define prepare_to_switch() do { } while (0) - -/* - * switch_to(n) should switch tasks to task ptr, first checking that - * ptr isn't the current task, in which case it does nothing. - */ -struct thread_struct; -extern void *switch_thread (struct thread_struct *last, - struct thread_struct *next); -#define switch_to(prev,next,last) do { \ - if (prev != next) { \ - (last) = switch_thread (&prev->thread, &next->thread); \ - } \ -} while (0) - - -/* Enable/disable interrupts. */ -#define __sti() \ -{ \ - register unsigned tmp; \ - __asm__ __volatile__ (" \ - mfs %0, rmsr; \ - ori %0, %0, 2; \ - mts rmsr, %0" \ - : "=r" (tmp) \ - : \ - : "memory"); \ -} - -#define __cli() \ -{ \ - register unsigned tmp; \ - __asm__ __volatile__ (" \ - mfs %0, rmsr; \ - andi %0, %0, ~2; \ - mts rmsr, %0" \ - : "=r" (tmp) \ - : \ - : "memory"); \ -} - -#define __save_flags(flags) \ - __asm__ __volatile__ ("mfs %0, rmsr" : "=r" (flags)) -#define __restore_flags(flags) \ - __asm__ __volatile__ ("mts rmsr, %0" :: "r" (flags)) - -#define __save_flags_cli(flags) \ -{ \ - register unsigned tmp; \ - __asm__ __volatile__ (" \ - mfs %0, rmsr; \ - andi %1, %0, ~2; \ - mts rmsr, %1;" \ - : "=r" (flags), "=r" (tmp) \ - : \ - : "memory"); \ -} - -#define __save_flags_sti(flags) \ -{ \ - register unsigned tmp; \ - __asm__ __volatile__ (" \ - mfs %0, rmsr; \ - ori %1, %0, 2; \ - mts rmsr, %1;" \ - : "=r" (flags) ,"=r" (tmp) \ - : \ - : "memory"); \ -} - -/* For spinlocks etc */ -#define local_irq_save(flags) __save_flags_cli (flags) -#define local_irq_set(flags) __save_flags_sti (flags) -#define local_irq_restore(flags) __restore_flags (flags) -#define local_irq_disable() __cli () -#define local_irq_enable() __sti () - -#define cli() __cli () -#define sti() __sti () -#define save_flags(flags) __save_flags (flags) -#define restore_flags(flags) __restore_flags (flags) -#define save_flags_cli(flags) __save_flags_cli (flags) - -/* - * Force strict CPU ordering. - * Not really required on microblaze... - */ -#define nop() __asm__ __volatile__ ("nop") -#define mb() __asm__ __volatile__ ("nop" ::: "memory") -#define rmb() mb () -#define wmb() mb () -#define set_mb(var, value) do { var = value; mb(); } while (0) -#define set_wmb(var, value) do { var = value; wmb (); } while (0) - -#ifdef CONFIG_SMP -#define smp_mb() mb () -#define smp_rmb() rmb () -#define smp_wmb() wmb () -#else -#define smp_mb() barrier () -#define smp_rmb() barrier () -#define smp_wmb() barrier () -#endif - -#define xchg(ptr, with) \ - ((__typeof__ (*(ptr)))__xchg ((unsigned long)(with), (ptr), sizeof (*(ptr)))) -#define tas(ptr) (xchg ((ptr), 1)) - -extern inline unsigned long __xchg (unsigned long with, - __volatile__ void *ptr, int size) -{ - unsigned long tmp, flags; - - save_flags_cli (flags); - - switch (size) { - case 1: - tmp = *(unsigned char *)ptr; - *(unsigned char *)ptr = with; - break; - case 2: - tmp = *(unsigned short *)ptr; - *(unsigned short *)ptr = with; - break; - case 4: - tmp = *(unsigned long *)ptr; - *(unsigned long *)ptr = with; - break; - } - - restore_flags (flags); - - return tmp; -} - -#endif /* __MICROBLAZE_SYSTEM_H__ */ diff --git a/qemu/roms/u-boot/arch/microblaze/include/asm/types.h b/qemu/roms/u-boot/arch/microblaze/include/asm/types.h deleted file mode 100644 index 77094f62d..000000000 --- a/qemu/roms/u-boot/arch/microblaze/include/asm/types.h +++ /dev/null @@ -1,60 +0,0 @@ -#ifndef _ASM_TYPES_H -#define _ASM_TYPES_H - -/* - * This file is never included by application software unless - * explicitly requested (e.g., via linux/types.h) in which case the - * application is Linux specific so (user-) name space pollution is - * not a major issue. However, for interoperability, libraries still - * need to be careful to avoid a name clashes. - */ - -typedef unsigned short umode_t; - -/* - * __xx is ok: it doesn't pollute the POSIX namespace. Use these in the - * header files exported to user space - */ - -typedef __signed__ char __s8; -typedef unsigned char __u8; - -typedef __signed__ short __s16; -typedef unsigned short __u16; - -typedef __signed__ int __s32; -typedef unsigned int __u32; - -#if defined(__GNUC__) -__extension__ typedef __signed__ long long __s64; -__extension__ typedef unsigned long long __u64; -#endif - -/* - * These aren't exported outside the kernel to avoid name space clashes - */ -#ifdef __KERNEL__ - -typedef signed char s8; -typedef unsigned char u8; - -typedef signed short s16; -typedef unsigned short u16; - -typedef signed int s32; -typedef unsigned int u32; - -typedef signed long long s64; -typedef unsigned long long u64; - -#define BITS_PER_LONG 32 - -/* Dma addresses are 32-bits wide. */ - -typedef u32 dma_addr_t; - -typedef unsigned long phys_addr_t; -typedef unsigned long phys_size_t; -#endif /* __KERNEL__ */ - -#endif /* _ASM_TYPES_H */ diff --git a/qemu/roms/u-boot/arch/microblaze/include/asm/u-boot.h b/qemu/roms/u-boot/arch/microblaze/include/asm/u-boot.h deleted file mode 100644 index 54d415ebb..000000000 --- a/qemu/roms/u-boot/arch/microblaze/include/asm/u-boot.h +++ /dev/null @@ -1,33 +0,0 @@ -/* - * (C) Copyright 2004 Atmark Techno, Inc. - * - * Yasushi SHOJI - * - * SPDX-License-Identifier: GPL-2.0+ - * - ******************************************************************** - * NOTE: This header file defines an interface to U-Boot. Including - * this (unmodified) header file in another file is considered normal - * use of U-Boot, and does *not* fall under the heading of "derived - * work". - ******************************************************************** - */ - -#ifndef _U_BOOT_H_ -#define _U_BOOT_H_ - -typedef struct bd_info { - unsigned long bi_memstart; /* start of DRAM memory */ - phys_size_t bi_memsize; /* size of DRAM memory in bytes */ - unsigned long bi_flashstart; /* start of FLASH memory */ - unsigned long bi_flashsize; /* size of FLASH memory */ - unsigned long bi_flashoffset; /* reserved area for startup monitor */ - unsigned long bi_sramstart; /* start of SRAM memory */ - unsigned long bi_sramsize; /* size of SRAM memory */ - ulong bi_boot_params; /* where this board expects params */ -} bd_t; - -/* For image.h:image_check_target_arch() */ -#define IH_ARCH_DEFAULT IH_ARCH_MICROBLAZE - -#endif /* _U_BOOT_H_ */ diff --git a/qemu/roms/u-boot/arch/microblaze/include/asm/unaligned.h b/qemu/roms/u-boot/arch/microblaze/include/asm/unaligned.h deleted file mode 100644 index 6cecbbb21..000000000 --- a/qemu/roms/u-boot/arch/microblaze/include/asm/unaligned.h +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/qemu/roms/u-boot/arch/microblaze/lib/Makefile b/qemu/roms/u-boot/arch/microblaze/lib/Makefile deleted file mode 100644 index 339dd153a..000000000 --- a/qemu/roms/u-boot/arch/microblaze/lib/Makefile +++ /dev/null @@ -1,10 +0,0 @@ -# -# (C) Copyright 2003-2006 -# Wolfgang Denk, DENX Software Engineering, wd@denx.de. -# -# SPDX-License-Identifier: GPL-2.0+ -# - -obj-y += board.o -obj-$(CONFIG_CMD_BOOTM) += bootm.o -obj-y += muldi3.o diff --git a/qemu/roms/u-boot/arch/microblaze/lib/board.c b/qemu/roms/u-boot/arch/microblaze/lib/board.c deleted file mode 100644 index 600c80ab7..000000000 --- a/qemu/roms/u-boot/arch/microblaze/lib/board.c +++ /dev/null @@ -1,201 +0,0 @@ -/* - * (C) Copyright 2007 Michal Simek - * (C) Copyright 2004 Atmark Techno, Inc. - * - * Michal SIMEK - * Yasushi SHOJI - * - * SPDX-License-Identifier: GPL-2.0+ - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -DECLARE_GLOBAL_DATA_PTR; - -static int display_banner(void) -{ - printf("\n\n%s\n\n", version_string); - return 0; -} - -/* - * All attempts to come up with a "common" initialization sequence - * that works for all boards and architectures failed: some of the - * requirements are just _too_ different. To get rid of the resulting - * mess of board dependend #ifdef'ed code we now make the whole - * initialization sequence configurable to the user. - * - * The requirements for any new initalization function is simple: it - * receives a pointer to the "global data" structure as it's only - * argument, and returns an integer return code, where 0 means - * "continue" and != 0 means "fatal error, hang the system". - */ -typedef int (init_fnc_t) (void); - -init_fnc_t *init_sequence[] = { - env_init, -#ifdef CONFIG_OF_CONTROL - fdtdec_check_fdt, -#endif - serial_init, -#ifndef CONFIG_SPL_BUILD - console_init_f, -#endif - display_banner, -#ifndef CONFIG_SPL_BUILD - interrupts_init, - timer_init, -#endif - NULL, -}; - -unsigned long monitor_flash_len; - -void board_init_f(ulong not_used) -{ - bd_t *bd; - init_fnc_t **init_fnc_ptr; - gd = (gd_t *)(CONFIG_SYS_SDRAM_BASE + CONFIG_SYS_GBL_DATA_OFFSET); - bd = (bd_t *)(CONFIG_SYS_SDRAM_BASE + CONFIG_SYS_GBL_DATA_OFFSET - - GENERATED_BD_INFO_SIZE); -#if defined(CONFIG_CMD_FLASH) && !defined(CONFIG_SPL_BUILD) - ulong flash_size = 0; -#endif - asm ("nop"); /* FIXME gd is not initialize - wait */ - memset((void *)gd, 0, GENERATED_GBL_DATA_SIZE); - memset((void *)bd, 0, GENERATED_BD_INFO_SIZE); - gd->bd = bd; - gd->baudrate = CONFIG_BAUDRATE; - bd->bi_memstart = CONFIG_SYS_SDRAM_BASE; - bd->bi_memsize = CONFIG_SYS_SDRAM_SIZE; - gd->flags |= GD_FLG_RELOC; /* tell others: relocation done */ - - monitor_flash_len = __end - __text_start; - -#ifdef CONFIG_OF_EMBED - /* Get a pointer to the FDT */ - gd->fdt_blob = __dtb_dt_begin; -#elif defined CONFIG_OF_SEPARATE - /* FDT is at end of image */ - gd->fdt_blob = (void *)__end; -#endif - -#ifndef CONFIG_SPL_BUILD - /* Allow the early environment to override the fdt address */ - gd->fdt_blob = (void *)getenv_ulong("fdtcontroladdr", 16, - (uintptr_t)gd->fdt_blob); -#endif - - /* - * The Malloc area is immediately below the monitor copy in DRAM - * aka CONFIG_SYS_MONITOR_BASE - Note there is no need for reloc_off - * as our monitory code is run from SDRAM - */ - mem_malloc_init(CONFIG_SYS_MALLOC_BASE, CONFIG_SYS_MALLOC_LEN); - - serial_initialize(); - -#ifdef CONFIG_XILINX_TB_WATCHDOG - hw_watchdog_init(); -#endif - for (init_fnc_ptr = init_sequence; *init_fnc_ptr; ++init_fnc_ptr) { - WATCHDOG_RESET(); - if ((*init_fnc_ptr) () != 0) - hang(); - } - -#ifndef CONFIG_SPL_BUILD -#ifdef CONFIG_OF_CONTROL - /* For now, put this check after the console is ready */ - if (fdtdec_prepare_fdt()) - panic("** No FDT - please see doc/README.fdt-control"); - else - printf("DTB: 0x%x\n", (u32)gd->fdt_blob); -#endif - - puts("SDRAM :\n"); - printf("\t\tIcache:%s\n", icache_status() ? "ON" : "OFF"); - printf("\t\tDcache:%s\n", dcache_status() ? "ON" : "OFF"); - printf("\tU-Boot Start:0x%08x\n", CONFIG_SYS_TEXT_BASE); - -#if defined(CONFIG_CMD_FLASH) - puts("Flash: "); - bd->bi_flashstart = CONFIG_SYS_FLASH_BASE; - flash_size = flash_init(); - if (bd->bi_flashstart && flash_size > 0) { -# ifdef CONFIG_SYS_FLASH_CHECKSUM - print_size(flash_size, ""); - /* - * Compute and print flash CRC if flashchecksum is set to 'y' - * - * NOTE: Maybe we should add some WATCHDOG_RESET()? XXX - */ - if (getenv_yesno("flashchecksum") == 1) { - printf(" CRC: %08X", - crc32(0, (const u8 *)bd->bi_flashstart, - flash_size) - ); - } - putc('\n'); -# else /* !CONFIG_SYS_FLASH_CHECKSUM */ - print_size(flash_size, "\n"); -# endif /* CONFIG_SYS_FLASH_CHECKSUM */ - bd->bi_flashsize = flash_size; - bd->bi_flashoffset = bd->bi_flashstart + flash_size; - } else { - puts("Flash init FAILED"); - bd->bi_flashstart = 0; - bd->bi_flashsize = 0; - bd->bi_flashoffset = 0; - } -#endif - -#ifdef CONFIG_SPI - spi_init(); -#endif - - /* relocate environment function pointers etc. */ - env_relocate(); - - /* Initialize stdio devices */ - stdio_init(); - - /* Initialize the jump table for applications */ - jumptable_init(); - - /* Initialize the console (after the relocation and devices init) */ - console_init_r(); - - board_init(); - - /* Initialize from environment */ - load_addr = getenv_ulong("loadaddr", 16, load_addr); - -#if defined(CONFIG_CMD_NET) - printf("Net: "); - eth_initialize(gd->bd); - - uchar enetaddr[6]; - eth_getenv_enetaddr("ethaddr", enetaddr); - printf("MAC: %pM\n", enetaddr); -#endif - - /* main_loop */ - for (;;) { - WATCHDOG_RESET(); - main_loop(); - } -#endif /* CONFIG_SPL_BUILD */ -} diff --git a/qemu/roms/u-boot/arch/microblaze/lib/bootm.c b/qemu/roms/u-boot/arch/microblaze/lib/bootm.c deleted file mode 100644 index d60b307f6..000000000 --- a/qemu/roms/u-boot/arch/microblaze/lib/bootm.c +++ /dev/null @@ -1,85 +0,0 @@ -/* - * (C) Copyright 2007 Michal Simek - * (C) Copyright 2004 Atmark Techno, Inc. - * - * Michal SIMEK - * Yasushi SHOJI - * - * SPDX-License-Identifier: GPL-2.0+ - */ - -#include -#include -#include -#include -#include - -DECLARE_GLOBAL_DATA_PTR; - -int do_bootm_linux(int flag, int argc, char * const argv[], - bootm_headers_t *images) -{ - /* First parameter is mapped to $r5 for kernel boot args */ - void (*thekernel) (char *, ulong, ulong); - char *commandline = getenv("bootargs"); - ulong rd_data_start, rd_data_end; - - /* - * allow the PREP bootm subcommand, it is required for bootm to work - */ - if (flag & BOOTM_STATE_OS_PREP) - return 0; - - if ((flag != 0) && (flag != BOOTM_STATE_OS_GO)) - return 1; - - int ret; - - char *of_flat_tree = NULL; -#if defined(CONFIG_OF_LIBFDT) - /* did generic code already find a device tree? */ - if (images->ft_len) - of_flat_tree = images->ft_addr; -#endif - - thekernel = (void (*)(char *, ulong, ulong))images->ep; - - /* find ramdisk */ - ret = boot_get_ramdisk(argc, argv, images, IH_ARCH_MICROBLAZE, - &rd_data_start, &rd_data_end); - if (ret) - return 1; - - bootstage_mark(BOOTSTAGE_ID_RUN_OS); - - if (!of_flat_tree && argc > 1) - of_flat_tree = (char *)simple_strtoul(argv[1], NULL, 16); - - /* fixup the initrd now that we know where it should be */ - if (images->rd_start && images->rd_end && of_flat_tree) - ret = fdt_initrd(of_flat_tree, images->rd_start, - images->rd_end, 1); - if (ret) - return 1; - -#ifdef DEBUG - printf("## Transferring control to Linux (at address 0x%08lx) ", - (ulong)thekernel); - printf("ramdisk 0x%08lx, FDT 0x%08lx...\n", - rd_data_start, (ulong) of_flat_tree); -#endif - -#ifdef XILINX_USE_DCACHE - flush_cache(0, XILINX_DCACHE_BYTE_SIZE); -#endif - /* - * Linux Kernel Parameters (passing device tree): - * r5: pointer to command line - * r6: pointer to ramdisk - * r7: pointer to the fdt, followed by the board info data - */ - thekernel(commandline, rd_data_start, (ulong)of_flat_tree); - /* does not return */ - - return 1; -} diff --git a/qemu/roms/u-boot/arch/microblaze/lib/muldi3.c b/qemu/roms/u-boot/arch/microblaze/lib/muldi3.c deleted file mode 100644 index 5c1a1541c..000000000 --- a/qemu/roms/u-boot/arch/microblaze/lib/muldi3.c +++ /dev/null @@ -1,75 +0,0 @@ -/* - * U-boot - muldi3.c contains routines for mult and div - * - * - * SPDX-License-Identifier: GPL-2.0+ - */ - -/* Generic function got from GNU gcc package, libgcc2.c */ -#ifndef SI_TYPE_SIZE -#define SI_TYPE_SIZE 32 -#endif -#define __ll_B (1L << (SI_TYPE_SIZE / 2)) -#define __ll_lowpart(t) ((USItype) (t) % __ll_B) -#define __ll_highpart(t) ((USItype) (t) / __ll_B) -#define BITS_PER_UNIT 8 - -#if !defined(umul_ppmm) -#define umul_ppmm(w1, w0, u, v) \ - do { \ - USItype __x0, __x1, __x2, __x3; \ - USItype __ul, __vl, __uh, __vh; \ - \ - __ul = __ll_lowpart(u); \ - __uh = __ll_highpart(u); \ - __vl = __ll_lowpart(v); \ - __vh = __ll_highpart(v); \ - \ - __x0 = (USItype) __ul * __vl; \ - __x1 = (USItype) __ul * __vh; \ - __x2 = (USItype) __uh * __vl; \ - __x3 = (USItype) __uh * __vh; \ - \ - __x1 += __ll_highpart(__x0); /* this can't give carry */\ - __x1 += __x2; /* but this indeed can */ \ - if (__x1 < __x2) /* did we get it? */ \ - __x3 += __ll_B; /* yes, add it in the proper pos. */ \ - \ - (w1) = __x3 + __ll_highpart(__x1); \ - (w0) = __ll_lowpart(__x1) * __ll_B + __ll_lowpart(__x0);\ - } while (0) -#endif - -#if !defined(__umulsidi3) -#define __umulsidi3(u, v) \ - ({DIunion __w; \ - umul_ppmm(__w.s.high, __w.s.low, u, v); \ - __w.ll; }) -#endif - -typedef unsigned int USItype __attribute__ ((mode(SI))); -typedef int SItype __attribute__ ((mode(SI))); -typedef int DItype __attribute__ ((mode(DI))); -typedef int word_type __attribute__ ((mode(__word__))); - -struct DIstruct { - SItype low, high; -}; -typedef union { - struct DIstruct s; - DItype ll; -} DIunion; - -DItype __muldi3(DItype u, DItype v) -{ - DIunion w; - DIunion uu, vv; - - uu.ll = u, vv.ll = v; - /* panic("kernel panic for __muldi3"); */ - w.ll = __umulsidi3(uu.s.low, vv.s.low); - w.s.high += ((USItype) uu.s.low * (USItype) vv.s.high - + (USItype) uu.s.high * (USItype) vv.s.low); - - return w.ll; -} -- cgit 1.2.3-korg