summaryrefslogtreecommitdiff
path: root/src/cpu
diff options
context:
space:
mode:
Diffstat (limited to 'src/cpu')
-rw-r--r--src/cpu/x86/pae/pgtbl.c63
1 files changed, 0 insertions, 63 deletions
diff --git a/src/cpu/x86/pae/pgtbl.c b/src/cpu/x86/pae/pgtbl.c
index e16fa02cb4..2bcb67c980 100644
--- a/src/cpu/x86/pae/pgtbl.c
+++ b/src/cpu/x86/pae/pgtbl.c
@@ -213,69 +213,6 @@ int memset_pae(uint64_t dest, unsigned char pat, uint64_t length, void *pgtbl,
return 0;
}
-#if ENV_RAMSTAGE
-void *map_2M_page(unsigned long page)
-{
- struct pde {
- uint32_t addr_lo;
- uint32_t addr_hi;
- } __packed;
- struct pg_table {
- struct pde pd[2048];
- struct pde pdp[512];
- } __packed;
-
- static struct pg_table pgtbl[CONFIG_MAX_CPUS]
- __attribute__((aligned(4096)));
- static unsigned long mapped_window[CONFIG_MAX_CPUS];
- int index;
- unsigned long window;
- void *result;
- int i;
- index = cpu_index();
- if (index < 0)
- return MAPPING_ERROR;
- window = page >> 10;
- if (window != mapped_window[index]) {
- paging_disable_pae();
- if (window > 1) {
- struct pde *pd, *pdp;
- /* Point the page directory pointers at the page
- * directories
- */
- memset(&pgtbl[index].pdp, 0, sizeof(pgtbl[index].pdp));
- pd = pgtbl[index].pd;
- pdp = pgtbl[index].pdp;
- pdp[0].addr_lo = ((uintptr_t)&pd[512*0])|1;
- pdp[1].addr_lo = ((uintptr_t)&pd[512*1])|1;
- pdp[2].addr_lo = ((uintptr_t)&pd[512*2])|1;
- pdp[3].addr_lo = ((uintptr_t)&pd[512*3])|1;
- /* The first half of the page table is identity mapped
- */
- for (i = 0; i < 1024; i++) {
- pd[i].addr_lo = ((i & 0x3ff) << 21) | 0xE3;
- pd[i].addr_hi = 0;
- }
- /* The second half of the page table holds the mapped
- * page
- */
- for (i = 1024; i < 2048; i++) {
- pd[i].addr_lo = ((window & 1) << 31)
- | ((i & 0x3ff) << 21) | 0xE3;
- pd[i].addr_hi = (window >> 1);
- }
- paging_enable_pae_cr3((uintptr_t)pdp);
- }
- mapped_window[index] = window;
- }
- if (window == 0)
- result = (void *)(page << 21);
- else
- result = (void *)(0x80000000 | ((page & 0x3ff) << 21));
- return result;
-}
-#endif
-
void paging_set_nxe(int enable)
{
msr_t msr = rdmsr(IA32_EFER);