Need to read NVRAM during early boot, but requires com.apple.kpi.unsupported

I am working on a kext that needs to read from NVRAM during early boot. My code uses <IOKit/IONVRAM.h>, which makes no mention of deprecation, but the corresponding library code seems to be in com.apple.kpi.unsupported, which sounds suspiciously like it may be on its way out.


While searching through available documentation, I was unable to find any other kernel space API for NVRAM access. Is there some other API or documentation that pertains to NVRAM access from kernel space?

Accepted Reply

Thanks Quinn. I didn't realize that I could simply look up the IORegistryEntry for IODeviceTree:/options, and invoke getProperty() on that. I didn't need com.apple.kpi.unsupported after all.

Replies

I’m not sure what the story is here. If no one else chimes in, you have a couple of choices:

Share and Enjoy

Quinn "The Eskimo!"
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"

Thanks Quinn. I didn't realize that I could simply look up the IORegistryEntry for IODeviceTree:/options, and invoke getProperty() on that. I didn't need com.apple.kpi.unsupported after all.