#include #include #include 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; }