summaryrefslogtreecommitdiff
path: root/src/arch/x86
diff options
context:
space:
mode:
authorGabe Black <gabeblack@google.com>2019-05-01 20:14:13 -0700
committerGabe Black <gabeblack@google.com>2019-05-29 04:23:46 +0000
commit8666440499ef5b175b16efcf9d3a53f0583f0c45 (patch)
tree8fa4310dcd56908d5c8efbca3854c7444770c8e7 /src/arch/x86
parentd7c4cad240fd4f378d7362da5e9e44b9f0dd80d3 (diff)
downloadgem5-8666440499ef5b175b16efcf9d3a53f0583f0c45.tar.xz
arch, base, dev, sim: Remove now unnecessary casts from PortProxy methods.
Change-Id: Ia73b2d86a10d02fa09c924a4571477bb5f200eb7 Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/18572 Tested-by: kokoro <noreply+kokoro@google.com> Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com> Reviewed-by: Jason Lowe-Power <jason@lowepower.com> Maintainer: Jason Lowe-Power <jason@lowepower.com>
Diffstat (limited to 'src/arch/x86')
-rw-r--r--src/arch/x86/bios/e820.cc4
-rw-r--r--src/arch/x86/bios/intelmp.cc16
-rw-r--r--src/arch/x86/bios/smbios.cc67
-rw-r--r--src/arch/x86/linux/system.cc4
-rw-r--r--src/arch/x86/process.cc21
-rw-r--r--src/arch/x86/pseudo_inst.cc4
-rw-r--r--src/arch/x86/system.cc28
7 files changed, 64 insertions, 80 deletions
diff --git a/src/arch/x86/bios/e820.cc b/src/arch/x86/bios/e820.cc
index a1daf0a04..6cb16c995 100644
--- a/src/arch/x86/bios/e820.cc
+++ b/src/arch/x86/bios/e820.cc
@@ -50,7 +50,7 @@ template<class T>
void writeVal(T val, PortProxy& proxy, Addr &addr)
{
T guestVal = htog(val);
- proxy.writeBlob(addr, (uint8_t *)&guestVal, sizeof(T));
+ proxy.writeBlob(addr, &guestVal, sizeof(T));
addr += sizeof(T);
}
@@ -64,7 +64,7 @@ void X86ISA::E820Table::writeTo(PortProxy& proxy, Addr countAddr, Addr addr)
uint8_t guestE820Nr = htog(e820Nr);
- proxy.writeBlob(countAddr, (uint8_t *)&guestE820Nr, sizeof(guestE820Nr));
+ proxy.writeBlob(countAddr, &guestE820Nr, sizeof(guestE820Nr));
for (int i = 0; i < e820Nr; i++) {
writeVal(entries[i]->addr, proxy, addr);
diff --git a/src/arch/x86/bios/intelmp.cc b/src/arch/x86/bios/intelmp.cc
index 07d2f1333..a9da25a8a 100644
--- a/src/arch/x86/bios/intelmp.cc
+++ b/src/arch/x86/bios/intelmp.cc
@@ -74,7 +74,7 @@ uint8_t
writeOutField(PortProxy& proxy, Addr addr, T val)
{
uint64_t guestVal = X86ISA::htog(val);
- proxy.writeBlob(addr, (uint8_t *)(&guestVal), sizeof(T));
+ proxy.writeBlob(addr, &guestVal, sizeof(T));
uint8_t checkSum = 0;
while (guestVal) {
@@ -98,7 +98,7 @@ writeOutString(PortProxy& proxy, Addr addr, string str, int length)
memcpy(cleanedString, str.c_str(), str.length());
memset(cleanedString + str.length(), 0, length - str.length());
}
- proxy.writeBlob(addr, (uint8_t *)(&cleanedString), length);
+ proxy.writeBlob(addr, &cleanedString, length);
uint8_t checkSum = 0;
for (int i = 0; i < length; i++)
@@ -121,7 +121,7 @@ X86ISA::IntelMP::FloatingPointer::writeOut(PortProxy& proxy, Addr addr)
uint8_t checkSum = 0;
- proxy.writeBlob(addr, (uint8_t *)signature, 4);
+ proxy.writeBlob(addr, signature, 4);
for (int i = 0; i < 4; i++)
checkSum += signature[i];
@@ -194,13 +194,13 @@ X86ISA::IntelMP::ConfigTable::writeOut(PortProxy& proxy, Addr addr)
{
uint8_t checkSum = 0;
- proxy.writeBlob(addr, (uint8_t *)signature, 4);
+ proxy.writeBlob(addr, signature, 4);
for (int i = 0; i < 4; i++)
checkSum += signature[i];
// Base table length goes here but will be calculated later.
- proxy.writeBlob(addr + 6, (uint8_t *)(&specRev), 1);
+ proxy.writeBlob(addr + 6, &specRev, 1);
checkSum += specRev;
// The checksum goes here but is still being calculated.
@@ -272,8 +272,8 @@ X86ISA::IntelMP::Processor::writeOut(
checkSum += writeOutField(proxy, addr + 8, featureFlags);
uint32_t reserved = 0;
- proxy.writeBlob(addr + 12, (uint8_t *)(&reserved), 4);
- proxy.writeBlob(addr + 16, (uint8_t *)(&reserved), 4);
+ proxy.writeBlob(addr + 12, &reserved, 4);
+ proxy.writeBlob(addr + 16, &reserved, 4);
return 20;
}
@@ -414,7 +414,7 @@ X86ISA::IntelMP::BusHierarchy::writeOut(
checkSum += writeOutField(proxy, addr + 4, parentBus);
uint32_t reserved = 0;
- proxy.writeBlob(addr + 5, (uint8_t *)(&reserved), 3);
+ proxy.writeBlob(addr + 5, &reserved, 3);
return length;
}
diff --git a/src/arch/x86/bios/smbios.cc b/src/arch/x86/bios/smbios.cc
index 26785f5a8..cd91d2d02 100644
--- a/src/arch/x86/bios/smbios.cc
+++ b/src/arch/x86/bios/smbios.cc
@@ -77,13 +77,13 @@ composeBitVector(T vec)
uint16_t
X86ISA::SMBios::SMBiosStructure::writeOut(PortProxy& proxy, Addr addr)
{
- proxy.writeBlob(addr, (uint8_t *)(&type), 1);
+ proxy.writeBlob(addr, &type, 1);
uint8_t length = getLength();
- proxy.writeBlob(addr + 1, (uint8_t *)(&length), 1);
+ proxy.writeBlob(addr + 1, &length, 1);
uint16_t handleGuest = X86ISA::htog(handle);
- proxy.writeBlob(addr + 2, (uint8_t *)(&handleGuest), 2);
+ proxy.writeBlob(addr + 2, &handleGuest, 2);
return length + getStringLength();
}
@@ -104,16 +104,15 @@ X86ISA::SMBios::SMBiosStructure::writeOutStrings(
// If there are string fields but none of them are used, that's a
// special case which is handled by this if.
if (strings.size() == 0 && stringFields) {
- proxy.writeBlob(addr + offset, (uint8_t *)(&nullTerminator), 1);
+ proxy.writeBlob(addr + offset, &nullTerminator, 1);
offset++;
} else {
for (it = strings.begin(); it != strings.end(); it++) {
- proxy.writeBlob(addr + offset,
- (uint8_t *)it->c_str(), it->length() + 1);
+ proxy.writeBlob(addr + offset, it->c_str(), it->length() + 1);
offset += it->length() + 1;
}
}
- proxy.writeBlob(addr + offset, (uint8_t *)(&nullTerminator), 1);
+ proxy.writeBlob(addr + offset, &nullTerminator, 1);
}
int
@@ -177,26 +176,26 @@ X86ISA::SMBios::BiosInformation::writeOut(PortProxy& proxy, Addr addr)
{
uint8_t size = SMBiosStructure::writeOut(proxy, addr);
- proxy.writeBlob(addr + 0x4, (uint8_t *)(&vendor), 1);
- proxy.writeBlob(addr + 0x5, (uint8_t *)(&version), 1);
+ proxy.writeBlob(addr + 0x4, &vendor, 1);
+ proxy.writeBlob(addr + 0x5, &version, 1);
uint16_t startingAddrSegmentGuest = X86ISA::htog(startingAddrSegment);
- proxy.writeBlob(addr + 0x6, (uint8_t *)(&startingAddrSegmentGuest), 2);
+ proxy.writeBlob(addr + 0x6, &startingAddrSegmentGuest, 2);
- proxy.writeBlob(addr + 0x8, (uint8_t *)(&releaseDate), 1);
- proxy.writeBlob(addr + 0x9, (uint8_t *)(&romSize), 1);
+ proxy.writeBlob(addr + 0x8, &releaseDate, 1);
+ proxy.writeBlob(addr + 0x9, &romSize, 1);
uint64_t characteristicsGuest = X86ISA::htog(characteristics);
- proxy.writeBlob(addr + 0xA, (uint8_t *)(&characteristicsGuest), 8);
+ proxy.writeBlob(addr + 0xA, &characteristicsGuest, 8);
uint16_t characteristicExtBytesGuest =
X86ISA::htog(characteristicExtBytes);
- proxy.writeBlob(addr + 0x12, (uint8_t *)(&characteristicExtBytesGuest), 2);
+ proxy.writeBlob(addr + 0x12, &characteristicExtBytesGuest, 2);
- proxy.writeBlob(addr + 0x14, (uint8_t *)(&majorVer), 1);
- proxy.writeBlob(addr + 0x15, (uint8_t *)(&minorVer), 1);
- proxy.writeBlob(addr + 0x16, (uint8_t *)(&embContFirmwareMajor), 1);
- proxy.writeBlob(addr + 0x17, (uint8_t *)(&embContFirmwareMinor), 1);
+ proxy.writeBlob(addr + 0x14, &majorVer, 1);
+ proxy.writeBlob(addr + 0x15, &minorVer, 1);
+ proxy.writeBlob(addr + 0x16, &embContFirmwareMajor, 1);
+ proxy.writeBlob(addr + 0x17, &embContFirmwareMinor, 1);
writeOutStrings(proxy, addr + getLength());
@@ -231,21 +230,16 @@ X86ISA::SMBios::SMBiosTable::writeOut(PortProxy& proxy, Addr addr,
// The checksum goes here, but we're figuring it out as we go.
- proxy.writeBlob(addr + 0x5,
- (uint8_t *)(&smbiosHeader.entryPointLength), 1);
+ proxy.writeBlob(addr + 0x5, &smbiosHeader.entryPointLength, 1);
mainChecksum += smbiosHeader.entryPointLength;
- proxy.writeBlob(addr + 0x6,
- (uint8_t *)(&smbiosHeader.majorVersion), 1);
+ proxy.writeBlob(addr + 0x6, &smbiosHeader.majorVersion, 1);
mainChecksum += smbiosHeader.majorVersion;
- proxy.writeBlob(addr + 0x7,
- (uint8_t *)(&smbiosHeader.minorVersion), 1);
+ proxy.writeBlob(addr + 0x7, &smbiosHeader.minorVersion, 1);
mainChecksum += smbiosHeader.minorVersion;
// Maximum structure size goes here, but we'll figure it out later.
- proxy.writeBlob(addr + 0xA,
- (uint8_t *)(&smbiosHeader.entryPointRevision), 1);
+ proxy.writeBlob(addr + 0xA, &smbiosHeader.entryPointRevision, 1);
mainChecksum += smbiosHeader.entryPointRevision;
- proxy.writeBlob(addr + 0xB,
- (uint8_t *)(&smbiosHeader.formattedArea), 5);
+ proxy.writeBlob(addr + 0xB, &smbiosHeader.formattedArea, 5);
for (int i = 0; i < 5; i++)
mainChecksum += smbiosHeader.formattedArea[i];
@@ -255,7 +249,7 @@ X86ISA::SMBios::SMBiosTable::writeOut(PortProxy& proxy, Addr addr,
uint8_t intChecksum = 0;
proxy.writeBlob(addr + 0x10,
- (uint8_t *)smbiosHeader.intermediateHeader.anchorString, 5);
+ smbiosHeader.intermediateHeader.anchorString, 5);
for (int i = 0; i < 5; i++)
intChecksum += smbiosHeader.intermediateHeader.anchorString[i];
@@ -264,22 +258,21 @@ X86ISA::SMBios::SMBiosTable::writeOut(PortProxy& proxy, Addr addr,
uint32_t tableAddrGuest =
X86ISA::htog(smbiosHeader.intermediateHeader.tableAddr);
- proxy.writeBlob(addr + 0x18, (uint8_t *)(&tableAddrGuest), 4);
+ proxy.writeBlob(addr + 0x18, &tableAddrGuest, 4);
for (int i = 0; i < 4; i++) {
intChecksum += tableAddrGuest;
tableAddrGuest >>= 8;
}
uint16_t numStructs = X86ISA::gtoh(structures.size());
- proxy.writeBlob(addr + 0x1C, (uint8_t *)(&numStructs), 2);
+ proxy.writeBlob(addr + 0x1C, &numStructs, 2);
for (int i = 0; i < 2; i++) {
intChecksum += numStructs;
numStructs >>= 8;
}
proxy.writeBlob(addr + 0x1E,
- (uint8_t *)(&smbiosHeader.intermediateHeader.smbiosBCDRevision),
- 1);
+ &smbiosHeader.intermediateHeader.smbiosBCDRevision, 1);
intChecksum += smbiosHeader.intermediateHeader.smbiosBCDRevision;
/*
@@ -304,7 +297,7 @@ X86ISA::SMBios::SMBiosTable::writeOut(PortProxy& proxy, Addr addr,
*/
maxSize = X86ISA::htog(maxSize);
- proxy.writeBlob(addr + 0x8, (uint8_t *)(&maxSize), 2);
+ proxy.writeBlob(addr + 0x8, &maxSize, 2);
for (int i = 0; i < 2; i++) {
mainChecksum += maxSize;
maxSize >>= 8;
@@ -312,7 +305,7 @@ X86ISA::SMBios::SMBiosTable::writeOut(PortProxy& proxy, Addr addr,
// Set the checksum
mainChecksum = -mainChecksum;
- proxy.writeBlob(addr + 0x4, (uint8_t *)(&mainChecksum), 1);
+ proxy.writeBlob(addr + 0x4, &mainChecksum, 1);
/*
* Intermediate header
@@ -320,14 +313,14 @@ X86ISA::SMBios::SMBiosTable::writeOut(PortProxy& proxy, Addr addr,
uint16_t tableSize = offset;
tableSize = X86ISA::htog(tableSize);
- proxy.writeBlob(addr + 0x16, (uint8_t *)(&tableSize), 2);
+ proxy.writeBlob(addr + 0x16, &tableSize, 2);
for (int i = 0; i < 2; i++) {
intChecksum += tableSize;
tableSize >>= 8;
}
intChecksum = -intChecksum;
- proxy.writeBlob(addr + 0x15, (uint8_t *)(&intChecksum), 1);
+ proxy.writeBlob(addr + 0x15, &intChecksum, 1);
}
X86ISA::SMBios::BiosInformation *
diff --git a/src/arch/x86/linux/system.cc b/src/arch/x86/linux/system.cc
index fc5bc2d25..04ab023b8 100644
--- a/src/arch/x86/linux/system.cc
+++ b/src/arch/x86/linux/system.cc
@@ -80,14 +80,14 @@ LinuxX86System::initState()
if (commandLine.length() + 1 > realModeData - commandLineBuff)
panic("Command line \"%s\" is longer than %d characters.\n",
commandLine, realModeData - commandLineBuff - 1);
- physProxy.writeBlob(commandLineBuff, (uint8_t *)commandLine.c_str(),
+ physProxy.writeBlob(commandLineBuff, commandLine.c_str(),
commandLine.length() + 1);
// Generate a pointer of the right size and endianness to put into
// commandLinePointer.
uint32_t guestCommandLineBuff =
X86ISA::htog((uint32_t)commandLineBuff);
- physProxy.writeBlob(commandLinePointer, (uint8_t *)&guestCommandLineBuff,
+ physProxy.writeBlob(commandLinePointer, &guestCommandLineBuff,
sizeof(guestCommandLineBuff));
/*
diff --git a/src/arch/x86/process.cc b/src/arch/x86/process.cc
index f4469bd02..0765adea5 100644
--- a/src/arch/x86/process.cc
+++ b/src/arch/x86/process.cc
@@ -239,7 +239,7 @@ X86_64Process::initState()
uint8_t numGDTEntries = 0;
uint64_t nullDescriptor = 0;
physProxy.writeBlob(gdtPhysAddr + numGDTEntries * 8,
- (uint8_t *)(&nullDescriptor), 8);
+ &nullDescriptor, 8);
numGDTEntries++;
SegDescriptor initDesc = 0;
@@ -260,7 +260,7 @@ X86_64Process::initState()
csLowPLDesc.dpl = 0;
uint64_t csLowPLDescVal = csLowPLDesc;
physProxy.writeBlob(gdtPhysAddr + numGDTEntries * 8,
- (uint8_t *)(&csLowPLDescVal), 8);
+ &csLowPLDescVal, 8);
numGDTEntries++;
@@ -274,7 +274,7 @@ X86_64Process::initState()
dsLowPLDesc.dpl = 0;
uint64_t dsLowPLDescVal = dsLowPLDesc;
physProxy.writeBlob(gdtPhysAddr + numGDTEntries * 8,
- (uint8_t *)(&dsLowPLDescVal), 8);
+ &dsLowPLDescVal, 8);
numGDTEntries++;
@@ -288,7 +288,7 @@ X86_64Process::initState()
dsDesc.dpl = 3;
uint64_t dsDescVal = dsDesc;
physProxy.writeBlob(gdtPhysAddr + numGDTEntries * 8,
- (uint8_t *)(&dsDescVal), 8);
+ &dsDescVal, 8);
numGDTEntries++;
@@ -302,7 +302,7 @@ X86_64Process::initState()
csDesc.dpl = 3;
uint64_t csDescVal = csDesc;
physProxy.writeBlob(gdtPhysAddr + numGDTEntries * 8,
- (uint8_t *)(&csDescVal), 8);
+ &csDescVal, 8);
numGDTEntries++;
@@ -335,7 +335,7 @@ X86_64Process::initState()
} tssDescVal = {TSSDescLow, TSSDescHigh};
physProxy.writeBlob(gdtPhysAddr + numGDTEntries * 8,
- (uint8_t *)(&tssDescVal), sizeof(tssDescVal));
+ &tssDescVal, sizeof(tssDescVal));
numGDTEntries++;
@@ -500,7 +500,7 @@ X86_64Process::initState()
tss.RSP1_high = tss.IST1_high;
tss.RSP2_low = tss.IST1_low;
tss.RSP2_high = tss.IST1_high;
- physProxy.writeBlob(tssPhysAddr, (uint8_t *)(&tss), sizeof(tss));
+ physProxy.writeBlob(tssPhysAddr, &tss, sizeof(tss));
/* Setting IDT gates */
GateDescriptorLow PFGateLow = 0;
@@ -520,8 +520,7 @@ X86_64Process::initState()
uint64_t high;
} PFGate = {PFGateLow, PFGateHigh};
- physProxy.writeBlob(idtPhysAddr + 0xE0,
- (uint8_t *)(&PFGate), sizeof(PFGate));
+ physProxy.writeBlob(idtPhysAddr + 0xE0, &PFGate, sizeof(PFGate));
/* System call handler */
uint8_t syscallBlob[] = {
@@ -999,7 +998,7 @@ X86Process::argsInit(int pageSize,
// Write out the sentry void *
IntType sentry_NULL = 0;
- initVirtMem.writeBlob(sentry_base, (uint8_t*)&sentry_NULL, sentry_size);
+ initVirtMem.writeBlob(sentry_base, &sentry_NULL, sentry_size);
// Write the file name
initVirtMem.writeString(file_name_base, filename.c_str());
@@ -1029,7 +1028,7 @@ X86Process::argsInit(int pageSize,
copyStringArray(envp, envp_array_base, env_data_base, initVirtMem);
copyStringArray(argv, argv_array_base, arg_data_base, initVirtMem);
- initVirtMem.writeBlob(argc_base, (uint8_t*)&guestArgc, intSize);
+ initVirtMem.writeBlob(argc_base, &guestArgc, intSize);
ThreadContext *tc = system->getThreadContext(contextIds[0]);
// Set the stack pointer register
diff --git a/src/arch/x86/pseudo_inst.cc b/src/arch/x86/pseudo_inst.cc
index 90000b808..fc71af118 100644
--- a/src/arch/x86/pseudo_inst.cc
+++ b/src/arch/x86/pseudo_inst.cc
@@ -73,8 +73,8 @@ m5PageFault(ThreadContext *tc)
int size = 6;
uint64_t is[size];
// reading the interrupt handler stack
- proxy.readBlob(ISTVirtAddr + PageBytes - size*sizeof(uint64_t),
- (uint8_t *)&is, sizeof(is));
+ proxy.readBlob(ISTVirtAddr + PageBytes - size * sizeof(uint64_t),
+ &is, sizeof(is));
panic("Page fault at addr %#x\n\tInterrupt handler stack:\n"
"\tss: %#x\n"
"\trsp: %#x\n"
diff --git a/src/arch/x86/system.cc b/src/arch/x86/system.cc
index 3f44ece3a..2af9ff53c 100644
--- a/src/arch/x86/system.cc
+++ b/src/arch/x86/system.cc
@@ -141,8 +141,7 @@ X86System::initState()
uint8_t numGDTEntries = 0;
// Place holder at selector 0
uint64_t nullDescriptor = 0;
- physProxy.writeBlob(GDTBase + numGDTEntries * 8,
- (uint8_t *)(&nullDescriptor), 8);
+ physProxy.writeBlob(GDTBase + numGDTEntries * 8, &nullDescriptor, 8);
numGDTEntries++;
SegDescriptor initDesc = 0;
@@ -167,8 +166,7 @@ X86System::initState()
// it's beginning in memory and it's actual data, we'll use an
// intermediary.
uint64_t csDescVal = csDesc;
- physProxy.writeBlob(GDTBase + numGDTEntries * 8,
- (uint8_t *)(&csDescVal), 8);
+ physProxy.writeBlob(GDTBase + numGDTEntries * 8, (&csDescVal), 8);
numGDTEntries++;
@@ -180,8 +178,7 @@ X86System::initState()
// 32 bit data segment
SegDescriptor dsDesc = initDesc;
uint64_t dsDescVal = dsDesc;
- physProxy.writeBlob(GDTBase + numGDTEntries * 8,
- (uint8_t *)(&dsDescVal), 8);
+ physProxy.writeBlob(GDTBase + numGDTEntries * 8, (&dsDescVal), 8);
numGDTEntries++;
@@ -200,8 +197,7 @@ X86System::initState()
SegDescriptor tssDesc = initDesc;
uint64_t tssDescVal = tssDesc;
- physProxy.writeBlob(GDTBase + numGDTEntries * 8,
- (uint8_t *)(&tssDescVal), 8);
+ physProxy.writeBlob(GDTBase + numGDTEntries * 8, (&tssDescVal), 8);
numGDTEntries++;
@@ -230,25 +226,22 @@ X86System::initState()
// read/write, user, not present
uint64_t pml4e = X86ISA::htog(0x6);
for (int offset = 0; offset < (1 << PML4Bits) * 8; offset += 8) {
- physProxy.writeBlob(PageMapLevel4 + offset, (uint8_t *)(&pml4e), 8);
+ physProxy.writeBlob(PageMapLevel4 + offset, (&pml4e), 8);
}
// Point to the only PDPT
pml4e = X86ISA::htog(0x7 | PageDirPtrTable);
- physProxy.writeBlob(PageMapLevel4, (uint8_t *)(&pml4e), 8);
+ physProxy.writeBlob(PageMapLevel4, (&pml4e), 8);
// Page Directory Pointer Table
// read/write, user, not present
uint64_t pdpe = X86ISA::htog(0x6);
- for (int offset = 0; offset < (1 << PDPTBits) * 8; offset += 8) {
- physProxy.writeBlob(PageDirPtrTable + offset,
- (uint8_t *)(&pdpe), 8);
- }
+ for (int offset = 0; offset < (1 << PDPTBits) * 8; offset += 8)
+ physProxy.writeBlob(PageDirPtrTable + offset, &pdpe, 8);
// Point to the PDTs
for (int table = 0; table < NumPDTs; table++) {
pdpe = X86ISA::htog(0x7 | PageDirTable[table]);
- physProxy.writeBlob(PageDirPtrTable + table * 8,
- (uint8_t *)(&pdpe), 8);
+ physProxy.writeBlob(PageDirPtrTable + table * 8, &pdpe, 8);
}
// Page Directory Tables
@@ -259,8 +252,7 @@ X86System::initState()
for (int offset = 0; offset < (1 << PDTBits) * 8; offset += 8) {
// read/write, user, present, 4MB
uint64_t pdte = X86ISA::htog(0x87 | base);
- physProxy.writeBlob(PageDirTable[table] + offset,
- (uint8_t *)(&pdte), 8);
+ physProxy.writeBlob(PageDirTable[table] + offset, &pdte, 8);
base += pageSize;
}
}