Is the NVRAM on Intel Macs mapped in memory? If so, where is the address that it is located at? Apologies if this question is not strictly a ‘programming’ question.
Share
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
I don’t know, but the kernel doesn’t access NVRAM that way, so likely neither should you. Short of exhaustively searching memory or figuring out a way to debug/disassemble the EFI implementation, I don’t think this is particularly doable.
Access to NVRAM is provided by EFI Variable Services. (U)EFI doesn’t provide an interface to get at the nonvolatile storage for variables.
Going up a level, the kext that implements the NVRAM interface by setting/getting EFI variables is
/System/Library/Extensions/AppleEFIRuntime.kext/Contents/PlugIns/AppleEFINVRAM.kext. It is not open source.There are APIs available for manipulating NVRAM contents, and the
nvramtool itself is open source.