pagetable_walker.cc (5904:5c61233cbd53) pagetable_walker.cc (6022:410194bb3049)
1/*
2 * Copyright (c) 2007 The Hewlett-Packard Development Company
3 * All rights reserved.
4 *
5 * Redistribution and use of this software in source and binary forms,
6 * with or without modification, are permitted provided that the
7 * following conditions are met:
8 *

--- 84 unchanged lines hidden (view full) ---

93 if (size == 8)
94 pte = read->get<uint64_t>();
95 else
96 pte = read->get<uint32_t>();
97 VAddr vaddr = entry.vaddr;
98 bool uncacheable = pte.pcd;
99 Addr nextRead = 0;
100 bool doWrite = false;
1/*
2 * Copyright (c) 2007 The Hewlett-Packard Development Company
3 * All rights reserved.
4 *
5 * Redistribution and use of this software in source and binary forms,
6 * with or without modification, are permitted provided that the
7 * following conditions are met:
8 *

--- 84 unchanged lines hidden (view full) ---

93 if (size == 8)
94 pte = read->get<uint64_t>();
95 else
96 pte = read->get<uint32_t>();
97 VAddr vaddr = entry.vaddr;
98 bool uncacheable = pte.pcd;
99 Addr nextRead = 0;
100 bool doWrite = false;
101 bool badNX = pte.nx && (!tlb->allowNX() || !enableNX);
101 bool badNX = pte.nx && execute && enableNX;
102 switch(state) {
103 case LongPML4:
104 DPRINTF(PageTableWalker,
105 "Got long mode PML4 entry %#016x.\n", (uint64_t)pte);
106 nextRead = ((uint64_t)pte & (mask(40) << 12)) + vaddr.longl3 * size;
107 doWrite = !pte.a;
108 pte.a = 1;
109 entry.writable = pte.w;

--- 467 unchanged lines hidden ---
102 switch(state) {
103 case LongPML4:
104 DPRINTF(PageTableWalker,
105 "Got long mode PML4 entry %#016x.\n", (uint64_t)pte);
106 nextRead = ((uint64_t)pte & (mask(40) << 12)) + vaddr.longl3 * size;
107 doWrite = !pte.a;
108 pte.a = 1;
109 entry.writable = pte.w;

--- 467 unchanged lines hidden ---