u-boot-brain/arch
Gabe Black ac31a7b81c x86: Implement arch_phys_memset so that it can wipe memory above 4GB
Implement arch_phys_memset so that it can set memory at physical addresses
above 4GB using PAE paging. Because there are only 5 page tables in PAE mode,
1 PDPT and 4 PDTs, those tables are statically allocated in the BSS. The
tables must be 4K page aligned and are declared that way, and because U-Boot
starts as 4K aligned and the relocation code relocates it to a 4K aligned
address, the tables work as intended.

While paging is turned on, all 4GB are identity mapped except for one 2MB
page which is used as the window into high memory. This way, U-Boot will
continue to work as expected when running code that expects to access memory
freely, but the code can still get at high memory through its window.

The window is put at 2MB so that it's 2MB page aligned, low in memory to be
out of the way of things U-Boot is likely to care about, and above the lowest
1MB where lots of random things live.

Signed-off-by: Gabe Black <gabeblack@chromium.org>

Signed-off-by: Simon Glass <sjg@chromium.org>
2012-12-06 14:30:41 -08:00
..
arm EXYNOS: mmc: support DesignWare Controller for Samsung-SoC 2012-11-27 17:26:47 -06:00
avr32 common: Discard the __u_boot_cmd section 2012-10-22 08:29:42 -07:00
blackfin common: Discard the __u_boot_cmd section 2012-10-22 08:29:42 -07:00
m68k ColdFire: Add MCF5441x CPU support 2012-10-24 22:27:46 +08:00
microblaze microblaze: Fix compilation failure because of missing libdts 2012-11-08 10:33:19 +01:00
mips Merge branch 'master' of git://git.denx.de/u-boot-mips 2012-11-27 20:34:51 -07:00
nds32 common: Discard the __u_boot_cmd section 2012-10-22 08:29:42 -07:00
nios2 nios2: remove asm/status_led.h 2012-11-10 19:45:58 +08:00
openrisc openrisc: Change bi_baudrate and global data baudrate to int 2012-10-19 15:25:45 -07:00
powerpc mpc5200: Add SPL support 2012-12-05 17:30:51 +01:00
sandbox common: Discard the __u_boot_cmd section 2012-10-22 08:29:42 -07:00
sh sh: fix trigger_address_error() 2012-11-30 15:06:04 +09:00
sparc common: Convert the U-Boot commands to LG-arrays 2012-10-22 08:29:42 -07:00
x86 x86: Implement arch_phys_memset so that it can wipe memory above 4GB 2012-12-06 14:30:41 -08:00
.gitignore update include/asm/ gitignore after move 2010-05-07 00:17:30 +02:00