os/fs/proc/generators/
cpuinfo.rs1use alloc::format;
2use alloc::vec::Vec;
3
4use crate::fs::proc::inode::ContentGenerator;
5use crate::vfs::FsError;
6
7pub struct CpuinfoGenerator;
8
9impl ContentGenerator for CpuinfoGenerator {
10 fn generate(&self) -> Result<Vec<u8>, FsError> {
11 #[cfg(target_arch = "riscv64")]
12 {
13 let content = format!(
14 "processor\t: 0\n\
15 hart\t\t: 0\n\
16 isa\t\t: rv64imafdcsu\n\
17 mmu\t\t: sv39\n\
18 uarch\t\t: qemu,virt\n\n"
19 );
20 Ok(content.into_bytes())
21 }
22
23 #[cfg(not(target_arch = "riscv64"))]
24 {
25 Ok(b"processor\t: 0\n\n".to_vec())
26 }
27 }
28}