acpi_pci_osc_control_set(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ acpi_pci_osc_control_set(9) ✨

okay so bestie, this one's from the Kernel API Manual and it's giving "let me speak to the BIOS manager" energy πŸ’… like, it's literally how the kernel asks for permission to drive the fancy PCI root features. buckle up πŸŽ€


πŸ’– NAME πŸ’–

acpi_pci_osc_control_set β€” Request control of PCI root _OSC features. 🫢


🌸 SYNOPSIS 🌸

acpi_status acpi_pci_osc_control_set (acpi_handle handle , u32 *mask ,
u32 support , u32 *cxl_mask , u32 cxl_support );

that's the whole vibe, no cap ✨


πŸ¦‹ ARGUMENTS πŸ¦‹

  • handle β€” the ACPI handle of a PCI root bridge (or a PCIe Root Complex, iykyk). it's like the ✨main character✨ of this whole story 🌈
  • mask β€” mask of _OSC bits you wanna request control of, and the place to store control mask. yes bestie it's doing double duty, it's multi-talented πŸ’…
  • support β€” _OSC supported capability ⭐
  • cxl_mask β€” mask of CXL _OSC control bits, place to store control mask πŸ”₯
  • cxl_support β€” CXL _OSC supported capability 🌸

πŸ’œ DESCRIPTION πŸ’œ

so here's what's happening πŸ“ β€” it runs the _OSC query for mask, and if that slays (aka it's successful), it compares the returned mask of control bits with req. and if all of the req bits are set in the returned mask, then it runs the _OSC request for it. periodt πŸ‘‘

🫢 lowkey important caveat bestie: the variable at the mask address may be modified regardless of whether or not the function returns success. on success it will contain the mask of _OSC bits the BIOS has granted control of, but its contents are meaningless on failure. so like, don't go reading it after a fail, that's not the move πŸ™ˆ

🧚 SEE ALSO 🧚


βœ¨πŸ’– and that's the tea! this iconic lil page lives in ./drivers/acpi, dated October 2026 β€” go off, kernel bestie πŸŒˆπŸ‘‘πŸ’…

πŸ“¦ where this page comes from