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> |
||
---|---|---|
.. | ||
align.c | ||
asm-offsets.c | ||
bitops.c | ||
cpu_setup_6xx.S | ||
cpu_setup_power4.S | ||
dma-mapping.c | ||
entry.S | ||
head_4xx.S | ||
head_8xx.S | ||
head_44x.S | ||
head_booke.h | ||
head_fsl_booke.S | ||
head.S | ||
idle_6xx.S | ||
idle_power4.S | ||
idle.c | ||
irq.c | ||
l2cr.S | ||
machine_kexec.c | ||
Makefile | ||
misc.S | ||
module.c | ||
pci.c | ||
perfmon_fsl_booke.c | ||
ppc_htab.c | ||
ppc_ksyms.c | ||
ppc-stub.c | ||
process.c | ||
relocate_kernel.S | ||
semaphore.c | ||
setup.c | ||
smp-tbsync.c | ||
smp.c | ||
softemu8xx.c | ||
swsusp.S | ||
temp.c | ||
time.c | ||
traps.c | ||
vmlinux.lds.S |