kernel_optimize_test/arch
David S. Miller bff06d5522 [SPARC64]: Rewrite bootup sequence.
Instead of all of this cpu-specific code to remap the kernel
to the correct location, use portable firmware calls to do
this instead.

What we do now is the following in position independant
assembler:

	chosen_node = prom_finddevice("/chosen");
	prom_mmu_ihandle_cache = prom_getint(chosen_node, "mmu");
	vaddr = 4MB_ALIGN(current_text_addr());
	prom_translate(vaddr, &paddr_high, &paddr_low, &mode);
	prom_boot_mapping_mode = mode;
	prom_boot_mapping_phys_high = paddr_high;
	prom_boot_mapping_phys_low = paddr_low;
	prom_map(-1, 8 * 1024 * 1024, KERNBASE, paddr_low);

and that replaces the massive amount of by-hand TLB probing and
programming we used to do here.

The new code should also handle properly the case where the kernel
is mapped at the correct address already (think: future kexec
support).

Consequently, the bulk of remap_kernel() dies as does the entirety
of arch/sparc64/prom/map.S

We try to share some strings in the PROM library with the ones used
at bootup, and while we're here mark input strings to oplib.h routines
with "const" when appropriate.

There are many more simplifications now possible.  For one thing, we
can consolidate the two copies we now have of a lot of cpu setup code
sitting in head.S and trampoline.S.

This is a significant step towards CONFIG_DEBUG_PAGEALLOC support.

Signed-off-by: David S. Miller <davem@davemloft.net>
2005-09-22 20:11:33 -07:00
..
alpha [PATCH] Alpha: ISA IRQs fixup for dp264 2005-09-19 10:00:59 -07:00
arm [ARM] 2932/1: Avoid the "noreturn" warning in arch/arm/kernel/traps.c 2005-09-21 22:14:05 +01:00
arm26 [PATCH] Remove arch/arm26/boot/compressed/hw-bse.c 2005-09-17 11:49:59 -07:00
cris kbuild: rename prepare to archprepare to fix dependency chain 2005-09-11 22:30:22 +02:00
frv kbuild: frv,m32r,sparc64 introduce fake asm-offsets.h file 2005-09-09 22:47:53 +02:00
h8300 kbuild: h8300,m68knommu,sh,sh64 use generic asm-offsets.h support 2005-09-09 20:28:49 +02:00
i386 [LIB]: Consolidate _atomic_dec_and_lock() 2005-09-14 21:47:01 -07:00
ia64 [PATCH] files: fix preemption issues 2005-09-17 11:50:02 -07:00
m32r [LIB]: Consolidate _atomic_dec_and_lock() 2005-09-14 21:47:01 -07:00
m68k Merge master.kernel.org:/pub/scm/linux/kernel/git/sam/kbuild 2005-09-09 15:46:49 -07:00
m68knommu [PATCH] m68knommu: startup code for the Drangen Engine 68328 based board 2005-09-12 20:04:15 -07:00
mips [LIB]: Consolidate _atomic_dec_and_lock() 2005-09-14 21:47:01 -07:00
parisc [PATCH] spinlock consolidation 2005-09-10 10:06:21 -07:00
ppc [PATCH] ppc32: Add ppc_sys descriptions for PowerQUICC I devices 2005-09-17 11:50:01 -07:00
ppc64 [PATCH] ppc64: Build zImage.vmode for G5 2005-09-21 10:11:54 -07:00
s390 [PATCH] s390: kernel stack corruption 2005-09-17 11:49:59 -07:00
sh kbuild: rename prepare to archprepare to fix dependency chain 2005-09-11 22:30:22 +02:00
sh64 kbuild: rename prepare to archprepare to fix dependency chain 2005-09-11 22:30:22 +02:00
sparc [SPARC]: Fix dot-symbol exporting for good. 2005-09-11 20:14:07 -07:00
sparc64 [SPARC64]: Rewrite bootup sequence. 2005-09-22 20:11:33 -07:00
um [PATCH] uml: fix compile warning after consolidation patch 2005-09-21 16:16:30 -07:00
v850 [PATCH] V850: C99 initializers for hw_interrupt_type structures 2005-09-10 10:06:27 -07:00
x86_64 [PATCH] update URL for HPET spec. 2005-09-21 10:12:18 -07:00
xtensa [LIB]: Consolidate _atomic_dec_and_lock() 2005-09-14 21:47:01 -07:00