mirror of
https://github.com/AetherDroid/android_kernel_samsung_on5xelte.git
synced 2025-09-09 01:28:05 -04:00
Fixed MTP to work with TWRP
This commit is contained in:
commit
f6dfaef42e
50820 changed files with 20846062 additions and 0 deletions
34
arch/xtensa/boot/boot-elf/Makefile
Normal file
34
arch/xtensa/boot/boot-elf/Makefile
Normal file
|
@ -0,0 +1,34 @@
|
|||
#
|
||||
# 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.
|
||||
#
|
||||
|
||||
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
|
||||
export KBUILD_AFLAGS += -mtext-section-literals
|
||||
|
||||
boot-y := bootstrap.o
|
||||
|
||||
OBJS := $(addprefix $(obj)/,$(boot-y))
|
||||
|
||||
$(obj)/Image.o: vmlinux.bin $(OBJS)
|
||||
$(Q)$(OBJCOPY) $(OBJCOPY_ARGS) -R .comment \
|
||||
--add-section image=vmlinux.bin \
|
||||
--set-section-flags image=contents,alloc,load,load,data \
|
||||
$(OBJS) $@
|
||||
|
||||
$(obj)/../Image.elf: $(obj)/Image.o $(obj)/boot.lds
|
||||
$(Q)$(LD) $(LDFLAGS) $(LDFLAGS_vmlinux) \
|
||||
-T $(obj)/boot.lds \
|
||||
--build-id=none \
|
||||
-o $@ $(obj)/Image.o
|
||||
$(Q)$(kecho) ' Kernel: $@ is ready'
|
||||
|
||||
zImage: $(obj)/../Image.elf
|
54
arch/xtensa/boot/boot-elf/boot.lds.S
Normal file
54
arch/xtensa/boot/boot-elf/boot.lds.S
Normal file
|
@ -0,0 +1,54 @@
|
|||
/*
|
||||
* linux/arch/xtensa/boot/boot-elf/boot.lds.S
|
||||
*
|
||||
* Copyright (C) 2008 - 2013 by Tensilica Inc.
|
||||
*
|
||||
* Chris Zankel <chris@zankel.net>
|
||||
* Marc Gauthier <marc@tensilica.com
|
||||
* Pete Delaney <piet@tensilica.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*/
|
||||
|
||||
#include <asm/vectors.h>
|
||||
OUTPUT_ARCH(xtensa)
|
||||
ENTRY(_ResetVector)
|
||||
|
||||
SECTIONS
|
||||
{
|
||||
.ResetVector.text XCHAL_RESET_VECTOR_VADDR :
|
||||
{
|
||||
*(.ResetVector.text)
|
||||
}
|
||||
|
||||
.image KERNELOFFSET: AT (LOAD_MEMORY_ADDRESS)
|
||||
{
|
||||
_image_start = .;
|
||||
*(image)
|
||||
. = (. + 3) & ~ 3;
|
||||
_image_end = . ;
|
||||
}
|
||||
|
||||
.bss ((LOADADDR(.image) + SIZEOF(.image) + 3) & ~ 3):
|
||||
{
|
||||
__bss_start = .;
|
||||
*(.sbss)
|
||||
*(.scommon)
|
||||
*(.dynbss)
|
||||
*(.bss)
|
||||
__bss_end = .;
|
||||
}
|
||||
|
||||
/*
|
||||
* This is a remapped copy of the Reset Vector Code.
|
||||
* It keeps gdb in sync with the PC after switching
|
||||
* to the temporary mapping used while setting up
|
||||
* the V2 MMU mappings for Linux.
|
||||
*/
|
||||
.ResetVector.remapped_text 0x46000000 (INFO):
|
||||
{
|
||||
*(.ResetVector.remapped_text)
|
||||
}
|
||||
}
|
104
arch/xtensa/boot/boot-elf/bootstrap.S
Normal file
104
arch/xtensa/boot/boot-elf/bootstrap.S
Normal file
|
@ -0,0 +1,104 @@
|
|||
/*
|
||||
* arch/xtensa/boot/boot-elf/bootstrap.S
|
||||
*
|
||||
* Low-level exception handling
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
* Copyright (C) 2004 - 2013 by Tensilica Inc.
|
||||
*
|
||||
* Chris Zankel <chris@zankel.net>
|
||||
* Marc Gauthier <marc@tensilica.com>
|
||||
* Piet Delaney <piet@tensilica.com>
|
||||
*/
|
||||
|
||||
#include <asm/bootparam.h>
|
||||
#include <asm/processor.h>
|
||||
#include <asm/pgtable.h>
|
||||
#include <asm/page.h>
|
||||
#include <asm/cacheasm.h>
|
||||
#include <asm/initialize_mmu.h>
|
||||
#include <linux/linkage.h>
|
||||
|
||||
.section .ResetVector.text, "ax"
|
||||
.global _ResetVector
|
||||
.global reset
|
||||
|
||||
_ResetVector:
|
||||
_j _SetupMMU
|
||||
|
||||
.begin no-absolute-literals
|
||||
.literal_position
|
||||
|
||||
.align 4
|
||||
RomInitAddr:
|
||||
#if defined(CONFIG_INITIALIZE_XTENSA_MMU_INSIDE_VMLINUX) && \
|
||||
XCHAL_HAVE_PTP_MMU && XCHAL_HAVE_SPANNING_WAY
|
||||
.word 0x00003000
|
||||
#else
|
||||
.word 0xd0003000
|
||||
#endif
|
||||
RomBootParam:
|
||||
.word _bootparam
|
||||
_bootparam:
|
||||
.short BP_TAG_FIRST
|
||||
.short 4
|
||||
.long BP_VERSION
|
||||
.short BP_TAG_LAST
|
||||
.short 0
|
||||
.long 0
|
||||
|
||||
.align 4
|
||||
_SetupMMU:
|
||||
movi a0, 0
|
||||
wsr a0, windowbase
|
||||
rsync
|
||||
movi a0, 1
|
||||
wsr a0, windowstart
|
||||
rsync
|
||||
movi a0, 0x1F
|
||||
wsr a0, ps
|
||||
rsync
|
||||
|
||||
Offset = _SetupMMU - _ResetVector
|
||||
|
||||
#ifndef CONFIG_INITIALIZE_XTENSA_MMU_INSIDE_VMLINUX
|
||||
initialize_mmu
|
||||
#endif
|
||||
|
||||
.end no-absolute-literals
|
||||
|
||||
rsil a0, XCHAL_DEBUGLEVEL-1
|
||||
rsync
|
||||
reset:
|
||||
l32r a0, RomInitAddr
|
||||
l32r a2, RomBootParam
|
||||
movi a3, 0
|
||||
movi a4, 0
|
||||
jx a0
|
||||
|
||||
.align 4
|
||||
|
||||
.section .ResetVector.remapped_text, "x"
|
||||
.global _RemappedResetVector
|
||||
|
||||
/* Do org before literals */
|
||||
.org 0
|
||||
|
||||
_RemappedResetVector:
|
||||
.begin no-absolute-literals
|
||||
.literal_position
|
||||
|
||||
_j _RemappedSetupMMU
|
||||
|
||||
/* Position Remapped code at the same location as the original code */
|
||||
. = _RemappedResetVector + Offset
|
||||
|
||||
_RemappedSetupMMU:
|
||||
#ifndef CONFIG_INITIALIZE_XTENSA_MMU_INSIDE_VMLINUX
|
||||
initialize_mmu
|
||||
#endif
|
||||
|
||||
.end no-absolute-literals
|
Loading…
Add table
Add a link
Reference in a new issue