#
fae6e9ad |
| 25-Oct-2024 |
linfeng <chenlinfeng25@outlook.com> |
feat(ebpf):[WIP] add eBPF support (#948)
* feat(kprobe): Add basic kprobe support for x86_64
* feat: add ebpf support (#912)
- 实现bpf()一部分命令,包括几种基本map,相关的helper函数
- 实现部分perf相关的数据结构
- 暂时为文件实现简
feat(ebpf):[WIP] add eBPF support (#948)
* feat(kprobe): Add basic kprobe support for x86_64
* feat: add ebpf support (#912)
- 实现bpf()一部分命令,包括几种基本map,相关的helper函数
- 实现部分perf相关的数据结构
- 暂时为文件实现简单mmap
- 实现一个使用kprobe统计syscall 调用次数的ebpf程序
对eBPF支持程度(基本):
- 简单的eBPF程序(没有指定特殊的Map)
- 使用内核已经实现的Map的eBPF程序
- 可以和kprobe配合使用
- 内核Map相关的接口定义已经实现,添加新的Map较为简单
不支持的功能:
- 区分不同的eBPF程序类型(Network/Cgroup)并限定可调用的helper函数集
- 与内核其它跟踪机制配合(tracepoint)
- 其它helper和Map
todo
- [ ] 修改mmap,需要讨论,因为这个和块缓存层相关
- [x] 添加文档
- [x] 修复可能的错误
- [x] 增加rbpf版本信息
* feat: add /sys/devices/system/cpu/possible file
* feat: add /sys/devices/system/cpu/online
show more ...
|
Revision tags: V0.1.10, V0.1.9 |
|
#
338f6903 |
| 05-Mar-2024 |
LoGin <longjin@DragonOS.org> |
`riscv`: 初始化irq (#560)
完成riscv的irqchip初始化的代码。
这是该功能的第一个PR。由于还需要实现timer驱动才能测试,因此该功能将会通过2~3个PR来完成。
|
#
5b59005f |
| 04-Feb-2024 |
LoGin <longjin@DragonOS.org> |
x86_64: 使用Rust重写内核初始化代码 (#507)
* x86_64: 使用Rust重写内核初始化代码
|
#
d8e29bff |
| 17-Jan-2024 |
R0ronoa <84278015+2447742618@users.noreply.github.com> |
增加serio总线和相关trait (#488)
* 新增serio总线和相关trait
* 补充SerioDeviceManager和SerioDriverManager
|
#
c566df45 |
| 01-Jan-2024 |
LoGin <longjin@DragonOS.org> |
添加帧缓冲区抽象并实现vesafb的驱动 (#483)
- 添加bootparams对象
- 修正由于bus的driver、device强弱引用关系 不正确从而导致对象被释放的bug
- 添加vesafb的驱动
- 实现framebuffer抽象层
- 为通用帧缓冲区抽象实现sysfs的属性
- 修改设备号DeviceNumber的定义
- 仿照linux,添加initcall,并
添加帧缓冲区抽象并实现vesafb的驱动 (#483)
- 添加bootparams对象
- 修正由于bus的driver、device强弱引用关系 不正确从而导致对象被释放的bug
- 添加vesafb的驱动
- 实现framebuffer抽象层
- 为通用帧缓冲区抽象实现sysfs的属性
- 修改设备号DeviceNumber的定义
- 仿照linux,添加initcall,并在第一个内核线程中,调用他们。
show more ...
|
#
91e9d4ab |
| 25-Dec-2023 |
LoGin <longjin@DragonOS.org> |
实现unified-init库,支持收集初始化函数到一个数组,并统一初始化 (#474)
* 添加“统一初始化”的过程宏,并把SystemError独立成crate
* 使用unified-init来初始化fbmem
* 更新workflow,增加内核自动化静态测试
|
#
d7f5742a |
| 23-Oct-2023 |
LoGin <longjin@DragonOS.org> |
初步编写cpu信息获取的代码 (#406)
1. 启动时从acpi获取所有的cpu信息并存到SMP_BOOT_DATA
2. 注册cpu subsystem/bus到sysfs(暂时未添加内容)
todo:
1. build_cpu_map(在X86_64SmpManager中)
2. 实现cpu mask
3. 把cpu设备注册到sysfs
|
#
a03c4f9d |
| 20-Oct-2023 |
LoGin <longjin@DragonOS.org> |
设备驱动模型:完善platform bus相关内容。并注册串口到sysfs (#403)
* 完成初始化platform bus
* 删除旧的sysfs
* 把uart驱动移动到tty/serial文件夹下
* 完成将串口挂载到sysfs
* 修复vfs系统调用未能follow symlink的问题
* 修复shell未能正确获取pwd的问题
|
#
06d5e247 |
| 10-Oct-2023 |
LoGin <longjin@DragonOS.org> |
完善设备驱动模型,基于kset、kobj来维护对象之间的关系 (#401)
* 使用kobj和kset管理/sys文件夹下的对象
* 修改notifier,把action从u64换为泛型。
* 完善设备驱动模型,基于kset、kobj来维护对象之间的关系
|