summaryrefslogtreecommitdiff
path: root/ANDROID_3.4.5/arch/xtensa/boot
diff options
context:
space:
mode:
authorSrikant Patnaik2015-01-11 12:28:04 +0530
committerSrikant Patnaik2015-01-11 12:28:04 +0530
commit871480933a1c28f8a9fed4c4d34d06c439a7a422 (patch)
tree8718f573808810c2a1e8cb8fb6ac469093ca2784 /ANDROID_3.4.5/arch/xtensa/boot
parent9d40ac5867b9aefe0722bc1f110b965ff294d30d (diff)
downloadFOSSEE-netbook-kernel-source-871480933a1c28f8a9fed4c4d34d06c439a7a422.tar.gz
FOSSEE-netbook-kernel-source-871480933a1c28f8a9fed4c4d34d06c439a7a422.tar.bz2
FOSSEE-netbook-kernel-source-871480933a1c28f8a9fed4c4d34d06c439a7a422.zip
Moved, renamed, and deleted files
The original directory structure was scattered and unorganized. Changes are basically to make it look like kernel structure.
Diffstat (limited to 'ANDROID_3.4.5/arch/xtensa/boot')
-rw-r--r--ANDROID_3.4.5/arch/xtensa/boot/Makefile33
-rw-r--r--ANDROID_3.4.5/arch/xtensa/boot/boot-elf/Makefile53
-rw-r--r--ANDROID_3.4.5/arch/xtensa/boot/boot-elf/boot.lds.S73
-rw-r--r--ANDROID_3.4.5/arch/xtensa/boot/boot-elf/bootstrap.S33
-rw-r--r--ANDROID_3.4.5/arch/xtensa/boot/boot-redboot/Makefile35
-rw-r--r--ANDROID_3.4.5/arch/xtensa/boot/boot-redboot/boot.ld66
-rw-r--r--ANDROID_3.4.5/arch/xtensa/boot/boot-redboot/bootstrap.S259
-rw-r--r--ANDROID_3.4.5/arch/xtensa/boot/lib/Makefile17
-rw-r--r--ANDROID_3.4.5/arch/xtensa/boot/lib/zmem.c79
-rw-r--r--ANDROID_3.4.5/arch/xtensa/boot/ramdisk/Makefile23
10 files changed, 0 insertions, 671 deletions
diff --git a/ANDROID_3.4.5/arch/xtensa/boot/Makefile b/ANDROID_3.4.5/arch/xtensa/boot/Makefile
deleted file mode 100644
index 70fd1453..00000000
--- a/ANDROID_3.4.5/arch/xtensa/boot/Makefile
+++ /dev/null
@@ -1,33 +0,0 @@
-#
-# arch/xtensa/boot/Makefile
-#
-# 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.
-#
-#
-
-
-# KBUILD_CFLAGS used when building rest of boot (takes effect recursively)
-KBUILD_CFLAGS += -fno-builtin -Iarch/$(ARCH)/boot/include
-HOSTFLAGS += -Iarch/$(ARCH)/boot/include
-
-BIG_ENDIAN := $(shell echo -e __XTENSA_EB__ | $(CC) -E - | grep -v "\#")
-
-export ccflags-y
-export BIG_ENDIAN
-
-subdir-y := lib
-
-# Subdirs for the boot loader(s)
-
-bootdir-$(CONFIG_XTENSA_PLATFORM_ISS) += boot-elf
-bootdir-$(CONFIG_XTENSA_PLATFORM_XT2000) += boot-redboot boot-elf
-
-
-zImage zImage.initrd Image Image.initrd: $(bootdir-y)
-
-$(bootdir-y): $(addprefix $(obj)/,$(subdir-y)) \
- $(addprefix $(obj)/,$(host-progs))
- $(Q)$(MAKE) $(build)=$(obj)/$@ $(MAKECMDGOALS)
-
diff --git a/ANDROID_3.4.5/arch/xtensa/boot/boot-elf/Makefile b/ANDROID_3.4.5/arch/xtensa/boot/boot-elf/Makefile
deleted file mode 100644
index 08e8814f..00000000
--- a/ANDROID_3.4.5/arch/xtensa/boot/boot-elf/Makefile
+++ /dev/null
@@ -1,53 +0,0 @@
-#
-# 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.
-#
-
-GZIP = gzip
-GZIP_FLAGS = -v9fc
-
-ifeq ($(BIG_ENDIAN),1)
-OBJCOPY_ARGS := -O elf32-xtensa-be
-else
-OBJCOPY_ARGS := -O elf32-xtensa-le
-endif
-
-export OBJCOPY_ARGS
-export CPPFLAGS_boot.lds += -P -C
-
-boot-y := bootstrap.o
-
-OBJS := $(addprefix $(obj)/,$(boot-y))
-
-Image: vmlinux $(OBJS) arch/$(ARCH)/boot/boot-elf/boot.lds
- $(OBJCOPY) --strip-all -R .comment -R .note.gnu.build-id -O binary \
- vmlinux vmlinux.tmp
- $(OBJCOPY) $(OBJCOPY_ARGS) -R .comment \
- --add-section image=vmlinux.tmp \
- --set-section-flags image=contents,alloc,load,load,data \
- $(OBJS) $@.tmp
- $(LD) $(LDFLAGS) $(LDFLAGS_vmlinux) \
- -T arch/$(ARCH)/boot/boot-elf/boot.lds \
- -o arch/$(ARCH)/boot/$@.elf $@.tmp
- rm -f $@.tmp vmlinux.tmp
-
-Image.initrd: vmlinux $(OBJS)
- $(OBJCOPY) --strip-all -R .comment -R .note.gnu.build-id -O binary \
- --add-section .initrd=arch/$(ARCH)/boot/ramdisk \
- --set-section-flags .initrd=contents,alloc,load,load,data \
- vmlinux vmlinux.tmp
- $(OBJCOPY) $(OBJCOPY_ARGS) -R .comment \
- --add-section image=vmlinux.tmp \
- --set-section-flags image=contents,alloc,load,load,data \
- $(OBJS) $@.tmp
- $(LD) $(LDFLAGS) $(LDFLAGS_vmlinux) \
- -T $(srctree)/arch/$(ARCH)/boot/boot-elf/boot.ld \
- -o arch/$(ARCH)/boot/$@.elf $@.tmp
- rm -f $@.tmp vmlinux.tmp
-
-
-zImage: Image
-
-zImage.initrd: Image.initrd
-
diff --git a/ANDROID_3.4.5/arch/xtensa/boot/boot-elf/boot.lds.S b/ANDROID_3.4.5/arch/xtensa/boot/boot-elf/boot.lds.S
deleted file mode 100644
index 4e53b74d..00000000
--- a/ANDROID_3.4.5/arch/xtensa/boot/boot-elf/boot.lds.S
+++ /dev/null
@@ -1,73 +0,0 @@
-#include <variant/core.h>
-OUTPUT_ARCH(xtensa)
-ENTRY(_ResetVector)
-
-SECTIONS
-{
- .start 0xD0000000 : { *(.start) }
-
- .text 0xD0000000:
- {
- __reloc_start = . ;
- _text_start = . ;
- *(.literal .text.literal .text)
- _text_end = . ;
- }
-
- .rodata ALIGN(0x04):
- {
- *(.rodata)
- *(.rodata1)
- }
-
- .data ALIGN(0x04):
- {
- *(.data)
- *(.data1)
- *(.sdata)
- *(.sdata2)
- *(.got.plt)
- *(.got)
- *(.dynamic)
- }
-
- __reloc_end = . ;
-
- .initrd ALIGN(0x10) :
- {
- boot_initrd_start = . ;
- *(.initrd)
- boot_initrd_end = .;
- }
-
- . = ALIGN(0x10);
- __image_load = . ;
- .image 0xd0001000:
- {
- _image_start = .;
- *(image)
- . = (. + 3) & ~ 3;
- _image_end = . ;
- }
-
-
- .bss ((LOADADDR(.image) + SIZEOF(.image) + 3) & ~ 3):
- {
- __bss_start = .;
- *(.sbss)
- *(.scommon)
- *(.dynbss)
- *(.bss)
- __bss_end = .;
- }
- _end = .;
- _param_start = .;
-
- .ResetVector.text XCHAL_RESET_VECTOR_VADDR :
- {
- *(.ResetVector.text)
- }
-
-
- PROVIDE (end = .);
-}
diff --git a/ANDROID_3.4.5/arch/xtensa/boot/boot-elf/bootstrap.S b/ANDROID_3.4.5/arch/xtensa/boot/boot-elf/bootstrap.S
deleted file mode 100644
index 464298bc..00000000
--- a/ANDROID_3.4.5/arch/xtensa/boot/boot-elf/bootstrap.S
+++ /dev/null
@@ -1,33 +0,0 @@
-
-#include <asm/bootparam.h>
-
-
-/* ResetVector
- */
- .section .ResetVector.text, "ax"
- .global _ResetVector
-_ResetVector:
- _j reset
- .align 4
-RomInitAddr:
- .word 0xd0001000
-RomBootParam:
- .word _bootparam
-reset:
- l32r a0, RomInitAddr
- l32r a2, RomBootParam
- movi a3, 0
- movi a4, 0
- jx a0
-
- .align 4
- .section .bootstrap.data, "aw"
-
- .globl _bootparam
-_bootparam:
- .short BP_TAG_FIRST
- .short 4
- .long BP_VERSION
- .short BP_TAG_LAST
- .short 0
- .long 0
diff --git a/ANDROID_3.4.5/arch/xtensa/boot/boot-redboot/Makefile b/ANDROID_3.4.5/arch/xtensa/boot/boot-redboot/Makefile
deleted file mode 100644
index 872029b8..00000000
--- a/ANDROID_3.4.5/arch/xtensa/boot/boot-redboot/Makefile
+++ /dev/null
@@ -1,35 +0,0 @@
-#
-# 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.
-#
-
-GZIP = gzip
-GZIP_FLAGS = -v9fc
-ifeq ($(BIG_ENDIAN),1)
-OBJCOPY_ARGS := -O elf32-xtensa-be
-else
-OBJCOPY_ARGS := -O elf32-xtensa-le
-endif
-
-LD_ARGS = -T $(srctree)/$(obj)/boot.ld
-
-boot-y := bootstrap.o
-
-OBJS := $(addprefix $(obj)/,$(boot-y))
-LIBS := arch/xtensa/boot/lib/lib.a arch/xtensa/lib/lib.a
-
-LIBGCC := $(shell $(CC) $(KBUILD_CFLAGS) -print-libgcc-file-name)
-
-zImage: vmlinux $(OBJS) $(LIBS)
- $(OBJCOPY) --strip-all -R .comment -R .note.gnu.build-id -O binary \
- vmlinux vmlinux.tmp
- gzip -vf9 vmlinux.tmp
- $(OBJCOPY) $(OBJCOPY_ARGS) -R .comment \
- --add-section image=vmlinux.tmp.gz \
- --set-section-flags image=contents,alloc,load,load,data \
- $(OBJS) $@.tmp
- $(LD) $(LD_ARGS) -o $@.elf $@.tmp $(LIBS) -L/xtensa-elf/lib $(LIBGCC)
- $(OBJCOPY) -S -O binary $@.elf arch/$(ARCH)/boot/$@.redboot
- rm -f $@.tmp $@.elf vmlinux.tmp.gz
-
diff --git a/ANDROID_3.4.5/arch/xtensa/boot/boot-redboot/boot.ld b/ANDROID_3.4.5/arch/xtensa/boot/boot-redboot/boot.ld
deleted file mode 100644
index 774db20d..00000000
--- a/ANDROID_3.4.5/arch/xtensa/boot/boot-redboot/boot.ld
+++ /dev/null
@@ -1,66 +0,0 @@
-OUTPUT_ARCH(xtensa)
-
-SECTIONS
-{
- .start 0xD1000000 : { *(.start) }
-
- .text :
- {
- __reloc_start = . ;
- _text_start = . ;
- *(.literal .text.literal .text)
- _text_end = . ;
- }
-
- .rodata ALIGN(0x04):
- {
- *(.rodata)
- *(.rodata1)
- }
-
- .data ALIGN(0x04):
- {
- *(.data)
- *(.data1)
- *(.sdata)
- *(.sdata2)
- *(.got.plt)
- *(.got)
- *(.dynamic)
- }
-
- __reloc_end = . ;
-
- .initrd ALIGN(0x10) :
- {
- boot_initrd_start = . ;
- *(.initrd)
- boot_initrd_end = .;
- }
-
- . = ALIGN(0x10);
- __image_load = . ;
- .image 0xd0001000: AT(__image_load)
- {
- _image_start = .;
- *(image)
- . = (. + 3) & ~ 3;
- _image_end = . ;
- }
-
-
- .bss ((LOADADDR(.image) + SIZEOF(.image) + 3) & ~ 3):
- {
- __bss_start = .;
- *(.sbss)
- *(.scommon)
- *(.dynbss)
- *(.bss)
- __bss_end = .;
- }
- _end = .;
- _param_start = .;
-
-
- PROVIDE (end = .);
-}
diff --git a/ANDROID_3.4.5/arch/xtensa/boot/boot-redboot/bootstrap.S b/ANDROID_3.4.5/arch/xtensa/boot/boot-redboot/bootstrap.S
deleted file mode 100644
index 5582e8cf..00000000
--- a/ANDROID_3.4.5/arch/xtensa/boot/boot-redboot/bootstrap.S
+++ /dev/null
@@ -1,259 +0,0 @@
-#include <variant/core.h>
-#include <asm/regs.h>
-#include <asm/asmmacro.h>
-#include <asm/cacheasm.h>
- /*
- * RB-Data: RedBoot data/bss
- * P: Boot-Parameters
- * L: Kernel-Loader
- *
- * The Linux-Kernel image including the loader must be loaded
- * to a position so that the kernel and the boot parameters
- * can fit in the space before the load address.
- * ______________________________________________________
- * |_RB-Data_|_P_|__________|_L_|___Linux-Kernel___|______|
- * ^
- * ^ Load address
- * ______________________________________________________
- * |___Linux-Kernel___|_P_|_L_|___________________________|
- *
- * The loader copies the parameter to the position that will
- * be the end of the kernel and itself to the end of the
- * parameter list.
- */
-
-/* Make sure we have enough space for the 'uncompressor' */
-
-#define STACK_SIZE 32768
-#define HEAP_SIZE (131072*4)
-
- # a2: Parameter list
- # a3: Size of parameter list
-
- .section .start, "ax"
-
- .globl __start
- /* this must be the first byte of the loader! */
-__start:
- entry sp, 32 # we do not intend to return
- _call0 _start
-__start_a0:
- .align 4
-
- .section .text, "ax"
- .begin literal_prefix .text
-
- /* put literals in here! */
-
- .globl _start
-_start:
-
- /* 'reset' window registers */
-
- movi a4, 1
- wsr a4, PS
- rsync
-
- rsr a5, WINDOWBASE
- ssl a5
- sll a4, a4
- wsr a4, WINDOWSTART
- rsync
-
- movi a4, 0x00040000
- wsr a4, PS
- rsync
-
- /* copy the loader to its address
- * Note: The loader itself is a very small piece, so we assume we
- * don't partially overlap. We also assume (even more important)
- * that the kernel image is out of the way. Usually, when the
- * load address of this image is not at an arbitrary address,
- * but aligned to some 10K's we shouldn't overlap.
- */
-
- /* Note: The assembler cannot relax "addi a0, a0, ..." to an
- l32r, so we load to a4 first. */
-
- # addi a4, a0, __start - __start_a0
- # mov a0, a4
-
- movi a4, __start
- movi a5, __start_a0
- add a4, a0, a4
- sub a0, a4, a5
-
- movi a4, __start
- movi a5, __reloc_end
-
- # a0: address where this code has been loaded
- # a4: compiled address of __start
- # a5: compiled end address
-
- mov.n a7, a0
- mov.n a8, a4
-
-1:
- l32i a10, a7, 0
- l32i a11, a7, 4
- s32i a10, a8, 0
- s32i a11, a8, 4
- l32i a10, a7, 8
- l32i a11, a7, 12
- s32i a10, a8, 8
- s32i a11, a8, 12
- addi a8, a8, 16
- addi a7, a7, 16
- blt a8, a5, 1b
-
-
- /* We have to flush and invalidate the caches here before we jump. */
-
-#if XCHAL_DCACHE_IS_WRITEBACK
-
- ___flush_dcache_all a5 a6
-
-#endif
-
- ___invalidate_icache_all a5 a6
- isync
-
- movi a11, _reloc
- jx a11
-
- .globl _reloc
-_reloc:
-
- /* RedBoot is now at the end of the memory, so we don't have
- * to copy the parameter list. Keep the code around; in case
- * we need it again. */
-#if 0
- # a0: load address
- # a2: start address of parameter list
- # a3: length of parameter list
- # a4: __start
-
- /* copy the parameter list out of the way */
-
- movi a6, _param_start
- add a3, a2, a3
-2:
- l32i a8, a2, 0
- s32i a8, a6, 0
- addi a2, a2, 4
- addi a6, a6, 4
- blt a2, a3, 2b
-#endif
-
- /* clear BSS section */
- movi a6, __bss_start
- movi a7, __bss_end
- movi.n a5, 0
-3:
- s32i a5, a6, 0
- addi a6, a6, 4
- blt a6, a7, 3b
-
- movi a5, -16
- movi a1, _stack + STACK_SIZE
- and a1, a1, a5
-
- /* Uncompress the kernel */
-
- # a0: load address
- # a2: boot parameter
- # a4: __start
-
- movi a3, __image_load
- sub a4, a3, a4
- add a8, a0, a4
-
- # a1 Stack
- # a8(a4) Load address of the image
-
- movi a6, _image_start
- movi a10, _image_end
- movi a7, 0x1000000
- sub a11, a10, a6
- movi a9, complen
- s32i a11, a9, 0
-
- movi a0, 0
-
- # a6 destination
- # a7 maximum size of destination
- # a8 source
- # a9 ptr to length
-
- .extern gunzip
- movi a4, gunzip
- beqz a4, 1f
-
- callx4 a4
-
- j 2f
-
-
- # a6 destination start
- # a7 maximum size of destination
- # a8 source start
- # a9 ptr to length
- # a10 destination end
-
-1:
- l32i a9, a8, 0
- l32i a11, a8, 4
- s32i a9, a6, 0
- s32i a11, a6, 4
- l32i a9, a8, 8
- l32i a11, a8, 12
- s32i a9, a6, 8
- s32i a11, a6, 12
- addi a6, a6, 16
- addi a8, a8, 16
- blt a6, a10, 1b
-
-
- /* jump to the kernel */
-2:
-#if XCHAL_DCACHE_IS_WRITEBACK
-
- ___flush_dcache_all a5 a6
-
-#endif
-
- ___invalidate_icache_all a5 a6
-
- isync
-
- movi a5, __start
- movi a3, boot_initrd_start
- movi a4, boot_initrd_end
- sub a3, a3, a5
- sub a4, a4, a5
- add a3, a0, a3
- add a4, a0, a4
-
- # a2 Boot parameter list
- # a3 initrd_start (virtual load address)
- # a4 initrd_end (virtual load address)
-
- movi a0, _image_start
- jx a0
-
- .align 16
- .data
- .globl avail_ram
-avail_ram:
- .long _heap
- .globl end_avail
-end_avail:
- .long _heap + HEAP_SIZE
-
- .comm _stack, STACK_SIZE
- .comm _heap, HEAP_SIZE
-
- .globl end_avail
- .comm complen, 4
-
- .end literal_prefix
diff --git a/ANDROID_3.4.5/arch/xtensa/boot/lib/Makefile b/ANDROID_3.4.5/arch/xtensa/boot/lib/Makefile
deleted file mode 100644
index ad8952e8..00000000
--- a/ANDROID_3.4.5/arch/xtensa/boot/lib/Makefile
+++ /dev/null
@@ -1,17 +0,0 @@
-#
-# Makefile for some libs needed by zImage.
-#
-
-zlib := inffast.c inflate.c inftrees.c
-
-lib-y += $(zlib:.c=.o) zmem.o
-
-ccflags-y := -Ilib/zlib_inflate
-
-quiet_cmd_copy_zlib = COPY $@
- cmd_copy_zlib = cat $< > $@
-
-$(addprefix $(obj)/,$(zlib)): $(obj)/%: $(srctree)/lib/zlib_inflate/%
- $(call cmd,copy_zlib)
-
-clean-files := $(zlib)
diff --git a/ANDROID_3.4.5/arch/xtensa/boot/lib/zmem.c b/ANDROID_3.4.5/arch/xtensa/boot/lib/zmem.c
deleted file mode 100644
index d9862aa8..00000000
--- a/ANDROID_3.4.5/arch/xtensa/boot/lib/zmem.c
+++ /dev/null
@@ -1,79 +0,0 @@
-#include <linux/zlib.h>
-
-/* bits taken from ppc */
-
-extern void *avail_ram, *end_avail;
-
-void exit (void)
-{
- for (;;);
-}
-
-void *zalloc(unsigned size)
-{
- void *p = avail_ram;
-
- size = (size + 7) & -8;
- avail_ram += size;
- if (avail_ram > end_avail) {
- //puts("oops... out of memory\n");
- //pause();
- exit ();
- }
- return p;
-}
-
-#define HEAD_CRC 2
-#define EXTRA_FIELD 4
-#define ORIG_NAME 8
-#define COMMENT 0x10
-#define RESERVED 0xe0
-
-#define DEFLATED 8
-
-void gunzip (void *dst, int dstlen, unsigned char *src, int *lenp)
-{
- z_stream s;
- int r, i, flags;
-
- /* skip header */
- i = 10;
- flags = src[3];
- if (src[2] != DEFLATED || (flags & RESERVED) != 0) {
- //puts("bad gzipped data\n");
- exit();
- }
- if ((flags & EXTRA_FIELD) != 0)
- i = 12 + src[10] + (src[11] << 8);
- if ((flags & ORIG_NAME) != 0)
- while (src[i++] != 0)
- ;
- if ((flags & COMMENT) != 0)
- while (src[i++] != 0)
- ;
- if ((flags & HEAD_CRC) != 0)
- i += 2;
- if (i >= *lenp) {
- //puts("gunzip: ran out of data in header\n");
- exit();
- }
-
- s.workspace = zalloc(zlib_inflate_workspacesize());
- r = zlib_inflateInit2(&s, -MAX_WBITS);
- if (r != Z_OK) {
- //puts("inflateInit2 returned "); puthex(r); puts("\n");
- exit();
- }
- s.next_in = src + i;
- s.avail_in = *lenp - i;
- s.next_out = dst;
- s.avail_out = dstlen;
- r = zlib_inflate(&s, Z_FINISH);
- if (r != Z_OK && r != Z_STREAM_END) {
- //puts("inflate returned "); puthex(r); puts("\n");
- exit();
- }
- *lenp = s.next_out - (unsigned char *) dst;
- zlib_inflateEnd(&s);
-}
-
diff --git a/ANDROID_3.4.5/arch/xtensa/boot/ramdisk/Makefile b/ANDROID_3.4.5/arch/xtensa/boot/ramdisk/Makefile
deleted file mode 100644
index b12f7635..00000000
--- a/ANDROID_3.4.5/arch/xtensa/boot/ramdisk/Makefile
+++ /dev/null
@@ -1,23 +0,0 @@
-#
-# Makefile for a ramdisk image
-#
-
-BIG_ENDIAN := $(shell echo -e "\#ifdef __XTENSA_EL__\nint little;\n\#else\nint big;\n\#endif" | $(CC) -E -|grep -c big)
-
-ifeq ($(BIG_ENDIAN),1)
-OBJCOPY_ARGS := -O elf32-xtensa-be
-else
-OBJCOPY_ARGS := -O elf32-xtensa-le
-endif
-
-obj-y = ramdisk.o
-
-RAMDISK_IMAGE = arch/$(ARCH)/boot/ramdisk/$(CONFIG_EMBEDDED_RAMDISK_IMAGE)
-
-arch/$(ARCH)/boot/ramdisk/ramdisk.o:
- $(Q)echo -e "dummy:" | $(AS) -o $@;
- $(Q)$(OBJCOPY) $(OBJCOPY_ARGS) \
- --add-section .initrd=$(RAMDISK_IMAGE) \
- --set-section-flags .initrd=contents,alloc,load,load,data \
- arch/$(ARCH)/boot/ramdisk/ramdisk.o $@
-