Open
Description
#7 introduces the machinery to support kernel parameters, but there are some things to do:
-
bool
andi32
— Parameter support #7 -
u8
,u16
,u32
,u64
andi16
— Add charp and some primitive param types #82 -
charp
/string
— Add charp and some primitive param types #82 and Array and string params #110 -
invbool
was added a long time ago but was only ever used by 2 modules or so: we decided not to support it — Add charp and some primitive param types #82 -
bint
was added a long time ago, used by about 8 modules, but users should probably usebool
properly instead. -
bool_enable_only
was added in 2015, but it is used by 1 module only, so we can skip it for now. -
hexint
was added in 2020 but only 1amdgpu
module uses it so far, so we can skip it for now. We could also consider having our own parser for the primitive types, accepting hex/oct/bin etc. automatically, rather than have different param types like this one. -
i128
andu128
: we forbid code using 128-bit integers. -
i8
,i64
,usize
andisize
— Add Rust int param types #87 - Arrays — Array and string params #110
- unsafe flag (taints kernel)
- hwparam flag +
hwparam_type
: probably another key in the dictionary, or use wrapper types. - An easy interface to provide custom types/ops (create a trait for it etc.)