mirror of https://gitee.com/openkylin/linux.git
6cb7bfebb1
Merge ppc32 and ppc64 versions of thread_info.h. They were pretty similar already, the chief changes are: - Instead of inline asm to implement current_thread_info(), which needs to be different for ppc32 and ppc64, we use C with an asm("r1") register variable. gcc turns it into the same asm as we used to have for both platforms. - We replace ppc32's 'local_flags' with the ppc64 'syscall_noerror' field. The noerror flag was in fact the only thing in the local_flags field anyway, so the ppc64 approach is simpler, and means we only need a load-immediate/store instead of load/mask/store when clearing the flag. - In readiness for 64k pages, when THREAD_SIZE will be less than a page, ppc64 used kmalloc() rather than get_free_pages() to allocate the kernel stack. With this patch we do the same for ppc32, since there's no strong reason not to. - For ppc64, we no longer export THREAD_SHIFT and THREAD_SIZE via asm-offsets, thread_info.h can now be safely included in asm, as on ppc32. Built and booted on G4 Powerbook (ARCH=ppc and ARCH=powerpc) and Power5 (ARCH=ppc64 and ARCH=powerpc). Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Paul Mackerras <paulus@samba.org> |
||
---|---|---|
.. | ||
Makefile | ||
asm-offsets.c | ||
binfmt_elf32.c | ||
btext.c | ||
cputable.c | ||
entry_32.S | ||
entry_64.S | ||
fpu.S | ||
head_4xx.S | ||
head_8xx.S | ||
head_32.S | ||
head_44x.S | ||
head_64.S | ||
head_fsl_booke.S | ||
idle_6xx.S | ||
idle_power4.S | ||
init_task.c | ||
lparmap.c | ||
misc_32.S | ||
misc_64.S | ||
of_device.c | ||
pmc.c | ||
ppc_ksyms.c | ||
process.c | ||
prom.c | ||
prom_init.c | ||
ptrace.c | ||
ptrace32.c | ||
semaphore.c | ||
setup_32.c | ||
setup_64.c | ||
signal_32.c | ||
sys_ppc32.c | ||
syscalls.c | ||
systbl.S | ||
time.c | ||
traps.c | ||
vecemu.c | ||
vector.S | ||
vmlinux.lds.S |