harishchandra: (Default)
I'm actually working on goal—trying to expose and manipulate UEFI HII settings programmatically, but on an ARM x86 (Neoverse) platform. Specifically, I'm trying to use the uefisettings tool to enable or disable PCI and UART options from user space.

Currently, I'm stuck understanding how exactly things work when invoking uefisettings extract-db. I’ve managed to create an HiiDB variable in my driver (Hiidriver.c) by using SetVariable, which includes just the header, flags, size, and address of the HiiPackageList to retrieved from /dev/mem. However, when I try to run uefisettings extract-db, it fails with an error saying it can't read /dev/mem ( OS error 14 bad address) , even after multiple attempts to resolve access issues (permissions, capabilities, etc.).

So far, my HiiDB seems to be structurally minimal and doesn't contain any actual package data—just metadata pointing to the HiiPackageList in memory. I'm not sure if there's something else I should be including or if there's a step I'm missing for uefisettings to successfully map and extract the data.

Would really appreciate any guidance or insights on:

Whether the HiiDB variable alone is sufficient for uefisettings, or if it requires additional EFI variables or kernel hooks.

Any recommendations for exposing this cleanly from the kernel on non-x86 platforms (ARM/Neoverse).

Common pitfalls or examples for enabling direct user-space HII reconfiguration without relying on /dev/mem.

Thanks in advance—this has been a tough nut to crack!

Profile

harishchandra: (Default)
harishchandra

May 2025

S M T W T F S
    123
45678910
11121314151617
18192021222324
25262728293031

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Aug. 17th, 2025 05:37 pm
Powered by Dreamwidth Studios