MCPcopy Create free account
hub / github.com/danoon2/Boxedwine / createSysfs

Function createSysfs

source/kernel/sys/sysfs.cpp:34–65  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

32void sysAddMouse(const std::shared_ptr<FsNode>& busNode, const std::shared_ptr<FsNode>& devicesNode);
33
34void createSysfs(const std::shared_ptr<FsNode> rootNode) {
35 std::shared_ptr<FsNode> sysNode = Fs::getNodeFromLocalPath(B(""), B("/sys"), true);
36
37 if (!sysNode) {
38 sysNode = Fs::addFileNode(B("/sys"), B(""), B(""), true, rootNode);
39 }
40
41 std::shared_ptr<FsNode> busNode = createSysBus(sysNode);
42 std::shared_ptr<FsNode> devicesNode = createSysDevices(sysNode);
43 createSysDev(sysNode);
44
45 sysAddMouse(busNode, devicesNode);
46 sysAddFrameBuffer(sysNode, devicesNode);
47
48 std::shared_ptr<FsNode> devicesSystemNode = Fs::addFileNode(B("/sys/devices/system"), B(""), B(""), true, devicesNode);
49 std::shared_ptr<FsNode> cpuNode = Fs::addFileNode(B("/sys/devices/system/cpu"), B(""), B(""), true, devicesSystemNode);
50
51 U32 cpuCount = Platform::getCpuCount();
52 Fs::addVirtualFile(B("/sys/devices/system/cpu/present"), K__S_IREAD, k_mdev(0, 0), cpuNode, "0-"+BString::valueOf(cpuCount-1));
53 Fs::addVirtualFile(B("/sys/devices/system/cpu/online"), openSysCpuOnline, K__S_IREAD, k_mdev(0, 0), cpuNode);
54 if (Platform::getCpuFreqMHz()) {
55 for (U32 i = 0; i < cpuCount; i++) {
56 std::shared_ptr<FsNode> cpuCoreNode = Fs::addFileNode("/sys/devices/system/cpu/cpu" + BString::valueOf(i), B(""), B(""), true, cpuNode);
57 std::shared_ptr<FsNode> cpuFreqCoreNode = Fs::addFileNode("/sys/devices/system/cpu/cpu" + BString::valueOf(i)+"/cpufreq", B(""), B(""), true, cpuCoreNode);
58 Fs::addVirtualFile("/sys/devices/system/cpu/cpu" + BString::valueOf(i) + "/cpufreq/scaling_cur_freq", openSysCpuScalingCurrentFrequency, K__S_IREAD, k_mdev(0, 0), cpuFreqCoreNode, i);
59 Fs::addVirtualFile("/sys/devices/system/cpu/cpu" + BString::valueOf(i) + "/cpufreq/cpuinfo_max_freq", openSysCpuMaxFrequency, K__S_IREAD, k_mdev(0, 0), cpuFreqCoreNode, i);
60 Fs::addVirtualFile("/sys/devices/system/cpu/cpu" + BString::valueOf(i) + "/cpufreq/scaling_max_freq", openSysCpuScalingMaxFrequency, K__S_IREAD, k_mdev(0, 0), cpuFreqCoreNode, i);
61 }
62 }
63
64
65}

Callers 1

Calls 6

BFunction · 0.85
createSysBusFunction · 0.85
createSysDevicesFunction · 0.85
createSysDevFunction · 0.85
sysAddMouseFunction · 0.85
sysAddFrameBufferFunction · 0.85

Tested by

no test coverage detected