obkrnl/config/
param1.rs

1use super::Config;
2use alloc::sync::Arc;
3
4/// Boot time overrides that are not scaled against main memory.
5pub struct Param1 {
6    msgbuf_size: usize, // msgbufsize
7}
8
9impl Param1 {
10    /// See `init_param1` on the Orbis for a reference.
11    ///
12    /// # Reference offsets
13    /// | Version | Offset |
14    /// |---------|--------|
15    /// |PS4 11.00|0x1A5340|
16    pub fn new(config: &Config) -> Arc<Self> {
17        let msgbuf_size = config
18            .env("kern.msgbufsize")
19            .map(|v| v.parse().unwrap())
20            .unwrap_or(0x10000);
21
22        Arc::new(Self { msgbuf_size })
23    }
24
25    pub fn msgbuf_size(&self) -> usize {
26        self.msgbuf_size
27    }
28}