Public feed
#722294
#include <stdio.h>
#include <CoreFoundation/CoreFoundation.h>
#include <IOKit/IOKitLib.h>
int main() {
CFMutableDictionaryRef d = IOOpenFirmwarePathMatching(kIOMasterPortDefault, 0, "/arm-io/vrom");
if (d)
{
io_service_t svc = IOServiceGetMatchingService(kIOMasterPortDefault, d);
io_service_t conn;
kern_return_t err = IOServiceOpen(svc, mach_task_self(), 0, conn);
if (err!=kIOReturnSuccess)
{
printf("IOServiceOpen: %08X\n", err);
}
else
{
vm_address_t addr;
vm_size_t size;
err = IOConnectMapMemory(svc, 0, mach_task_self(), &addr, &size, kIOMapAnywhere);
if (err!=kIOReturnSuccess)
{
printf("IOConnectMapMemory: %08X\n", err);
}
else
{
printf("Mapped %d bytes at %08X\n", size, addr);
}
}
}
return 0;
}