Commit Graph

902 Commits

Author SHA1 Message Date
黄涛
fcef60e36f Merge tag 'lsk-v3.10-android-14.07' into develop-3.10
LSK v3.10 Android 14.07 release

Conflicts:
	drivers/clocksource/arm_arch_timer.c
	lib/Makefile
2014-08-06 15:34:14 +08:00
Greg Kroah-Hartman
d02dae430d Linux 3.10.49 2014-07-17 15:58:15 -07:00
Greg Kroah-Hartman
d93efdcd51 Linux 3.10.48 2014-07-09 11:14:10 -07:00
Greg Kroah-Hartman
75dca41375 Linux 3.10.47 2014-07-06 18:55:56 -07:00
Greg Kroah-Hartman
5e9a2a3622 Linux 3.10.46 2014-06-30 20:09:54 -07:00
Greg Kroah-Hartman
7ab9233c18 Linux 3.10.45 2014-06-26 15:13:14 -04:00
Greg Kroah-Hartman
73eabc6d79 Linux 3.10.44 2014-06-16 13:43:06 -07:00
黄涛
e9fa201a63 rk: add gcc-wrapper 2014-06-16 22:03:54 +08:00
黄涛
ee25a425b9 Merge tag 'lsk-android-14.05' into develop-3.10
lsk 14.05 android release

Conflicts:
	arch/arm/common/Kconfig
	arch/arm64/include/asm/arch_timer.h
	drivers/staging/android/fiq_debugger/fiq_debugger.c
	drivers/usb/Kconfig
2014-06-12 21:04:26 +08:00
Greg Kroah-Hartman
853771148c Linux 3.10.43 2014-06-11 12:12:04 -07:00
Greg Kroah-Hartman
c2f7eb8029 Linux 3.10.42 2014-06-07 13:48:31 -07:00
Greg Kroah-Hartman
72c0f41938 Linux 3.10.41 2014-05-31 12:41:04 -07:00
Greg Kroah-Hartman
be67db1090 Linux 3.10.40 2014-05-13 14:00:04 +02:00
Greg Kroah-Hartman
5d897eedc5 Linux 3.10.39 2014-05-06 07:56:24 -07:00
Greg Kroah-Hartman
bdec432297 Linux 3.10.38 2014-04-26 17:16:33 -07:00
黄涛
7fe47454f2 Merge tag 'lsk-android-14.04' into develop-3.10
lsk-android 14.04

Conflicts:
	Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt
	drivers/pinctrl/pinconf-generic.c
	include/linux/pinctrl/consumer.h
	include/linux/pinctrl/pinconf-generic.h
2014-04-24 19:04:10 +08:00
黄涛
0ffd56dafe Merge tag 'lsk-android-14.03' into develop-3.10
lsk 14.03 Android release
2014-04-15 12:51:10 +08:00
Greg Kroah-Hartman
f512eefd5c Linux 3.10.37 2014-04-14 06:42:31 -07:00
Greg Kroah-Hartman
8f0c10ea2e Linux 3.10.36 2014-04-03 12:01:22 -07:00
Greg Kroah-Hartman
a2e124daef Linux 3.10.35 2014-03-31 09:58:38 -07:00
Greg Kroah-Hartman
10f8245e0d Linux 3.10.34 2014-03-23 21:42:03 -07:00
黄涛
9983901d21 Merge tag 'lsk-android-14.02' into develop-3.10
lsk 14.02 Android release
2014-03-12 21:33:38 +08:00
Greg Kroah-Hartman
6969595f01 Linux 3.10.33 2014-03-06 21:58:45 -08:00
Greg Kroah-Hartman
61dde96f97 Linux 3.10.32 2014-02-22 12:41:54 -08:00
Greg Kroah-Hartman
a43e02cf87 Linux 3.10.31 2014-02-20 11:06:19 -08:00
Greg Kroah-Hartman
29b5f72099 Linux 3.10.30 2014-02-13 13:48:15 -08:00
黄涛
c36cf48454 Merge remote-tracking branch 'origin/upstream/linux-linaro-lsk-v3.10-android' into develop-3.10 2014-02-10 16:23:36 +08:00
Greg Kroah-Hartman
1569265782 Linux 3.10.29 2014-02-06 11:08:34 -08:00
Greg Kroah-Hartman
020abbc911 Linux 3.10.28 2014-01-25 08:27:55 -08:00
Greg Kroah-Hartman
1071ea6e68 Linux 3.10.27 2014-01-15 15:29:14 -08:00
Greg Kroah-Hartman
8b4ed85b84 Linux 3.10.26 2014-01-09 12:25:15 -08:00
Greg Kroah-Hartman
095f493c4d Linux 3.10.25 2013-12-20 07:45:26 -08:00
黄涛
bba66615b5 rk: fix PIE support, better support clean 2013-12-16 19:34:04 +08:00
黄涛
48a48cd79b Merge remote-tracking branch 'origin/upstream/linux-linaro-lsk-v3.10-android' into develop-3.10 2013-12-16 14:23:41 +08:00
Greg Kroah-Hartman
05bcf8f867 Linux 3.10.24 2013-12-11 22:36:44 -08:00
黄涛
6b2c0a765f rk: Makefile set SUBLEVEL to 0 and add empty .scmversion 2013-12-10 14:21:38 +08:00
黄涛
aea1f7c03c Merge tag 'v3.10.23' into develop-3.10
This is the 3.10.23 stable release

Conflicts:
	drivers/input/evdev.c
2013-12-10 12:23:21 +08:00
黄涛
7362dbfb8c Merge remote-tracking branch 'origin/upstream/linux-linaro-lsk-v3.10-android+android-common-3.10' into develop-3.10 2013-12-10 12:14:30 +08:00
Greg Kroah-Hartman
184c20bbc9 Linux 3.10.23 2013-12-08 08:17:21 -08:00
Greg Kroah-Hartman
538069756c Linux 3.10.22 2013-12-04 11:03:31 -08:00
Greg Kroah-Hartman
43d8b1ef82 Linux 3.10.21 2013-11-29 11:12:03 -08:00
黄涛
a8b63f0388 rk: Makefile set default ARCH and CROSS_COMPILE 2013-11-22 18:51:07 +08:00
Russ Dill
2ecab0b339 PIE: Support embedding position independent executables
This commit adds support for embedding PIEs into the kernel, loading them
into genalloc sections, performing necessary relocations, and running code
from them. This allows platforms that need to run code from SRAM, such
an during suspend/resume, to develop that code in C instead of assembly.

Functions and data for each PIE should be grouped into sections with the
__pie(<group>) and __pie_data(<group>) macros respectively. Any symbols or
functions that are to be accessed from outside the PIE should be marked with
EXPORT_PIE_SYMBOL(<sym>). For example:

static struct ddr_timings xyz_timings __pie_data(platformxyz) = {
	[...]
};

void __pie(platformxyz) xyz_ddr_on(void *addr)
{
	[...]
}
EXPORT_PIE_SYMBOL(xyz_ddr_on);

While the kernel can access exported symbols from the PIE, the PIE cannot
access symbols from the kernel, but can access data from the kernel and
call functions in the kernel so long as addresses are passed into the PIE.

PIEs are loaded from the kernel into a genalloc pool with pie_load_sections.
pie_load_sections allocates space within the pool, copies the neccesary
code/data, and performs any necessary relocations. A chunk identifier is
returned for removing the PIE from the pool, and for translating symbols.

Because the PIEs are dynamically relocated, special accessors must be used
to access PIE symbols from kernel code:

- kern_to_pie(chunk, ptr):   Translate a PIE symbol to the virtual address
                             it is loaded into within the pool.

- fn_to_pie(chunk, ptr):     Same as above, but for function pointers.

- sram_to_phys(chunk, addr): Translate a virtual address within a loaded PIE
                             to a physical address.

Loading a PIE involves three main steps. First a set of common functions to
cover built-ins emitted by gcc (memcpy, memmove, etc) is copied into the pool.
Then the actual PIE code and data is copied into the pool. Because the PIE
code is contained within an overlay with other PIEs, offsets to the common
functions are maintained. Finally, relocations are performed as necessary.

Signed-off-by: Russ Dill <Russ.Dill@ti.com>
2013-11-21 13:39:21 +08:00
Greg Kroah-Hartman
a4c01ca3b7 Linux 3.10.20 2013-11-20 12:28:01 -08:00
Greg Kroah-Hartman
3729ed7c6a Linux 3.10.19 2013-11-13 12:05:59 +09:00
Greg Kroah-Hartman
4e77f7f126 Linux 3.10.18 2013-11-04 04:31:29 -08:00
Greg Kroah-Hartman
14e9c7db46 Linux 3.10.17 2013-10-18 10:44:19 -07:00
Greg Kroah-Hartman
7fc878164d Linux 3.10.16 2013-10-13 16:08:56 -07:00
Greg Kroah-Hartman
cac65253a9 Linux 3.10.15 2013-10-05 07:13:21 -07:00
Greg Kroah-Hartman
8c15abc94c Linux 3.10.14 2013-10-01 09:18:05 -07:00