Commit Graph

398 Commits

Author SHA1 Message Date
Matheus e25008b80b Merge pull request #36 from jvbronzeado/rewrite
Optimize page fault handling by caching last accessed range
2026-10-08 15:39:12 -03:00
jvbronzeado 185b33e719 mm: added page fault range caching for each mm_space_t
mm: added last_pagefault handling when mm_space_t is unmapped

mm: fixed styling inconsistencies, fixed last pagefault range removal

mm: fix unitialized last_pagefault member in slab data
2026-10-08 15:28:56 -03:00
wnstngs 91491d825b kernel: remove the list_t alias since it's just a typedef for node 2026-10-07 14:08:36 +03:00
wnstngs 513faa92c7 kernel: use list.h for scheduling run queues 2026-10-07 10:24:50 +03:00
wnstngs 3894be1a15 kernel: use list.h for DPC queues 2026-10-07 10:23:18 +03:00
Matheus e4a4896b4b kcov: initial implementation
Implement a device (/dev/kcov) that exposes coverage info for the
kernel. This will be especially useful for coverage-based fuzzing (e.g.
syzkaller).

Exclude a lot of functions which would crash/otherwise interfere in the
coverage, including only processing coverage callbacks when not handling
an irq.
2026-10-06 11:51:02 -03:00
Matheus 1c65a2c891 devfs: add anonymous variants to register/remove
The current devfs code requires registered devices to have a name on
creation. This makes temporary/hidden devices like pty master ends
appear for a split second on the devfs tree.

Add a way of registering/removing devfs nodes which do not have a name
on the tree.
2026-10-06 11:50:59 -03:00
Matheus cc069554ae vfs: fix UAF on VOP_RELEASE 2026-10-06 11:50:59 -03:00
wnstngs 3ecfb0ffb9 kernel: detach all event listener attachments 2026-09-23 20:48:29 +03:00
Matheus 7a533242ad scheduler: make idle cpus steal work 2026-09-16 00:22:05 -03:00
Matheus b9a5ead597 mm: add full page in flag for get physical 2026-09-15 14:45:56 -03:00
Matheus cdee765643 raw sockets: make creating them a privileged operation 2026-09-14 14:03:39 -03:00
Matheus 3eaca91ff1 vfs: properly sync metadata 2026-09-14 10:11:31 -03:00
Matheus f0dc54e027 netdev: cleanup and abstraction 2026-09-14 09:47:07 -03:00
Matheus d9ea361caf ipv4: fix receival of different sized headers 2026-09-10 23:58:25 -03:00
Matheus 5aca46e22c socket: SIOCGIFINDEX 2026-09-10 23:58:25 -03:00
Matheus 66b0cb9076 sockets: expose raw sockets to userspace 2026-09-10 17:56:54 -03:00
Matheus e17ba000e2 raw sockets: finish implementation 2026-09-10 17:19:35 -03:00
Matheus 1a8fe895b0 netdev: netdev_from_minor 2026-09-10 16:41:49 -03:00
Matheus 79752fb5e0 sock: pass protocol to sockets 2026-09-10 16:41:21 -03:00
Matheus 894d9bdaf9 raw: raw sockets 2026-09-10 15:59:53 -03:00
Matheus 895c6d9345 eth: take size_t size in eth_process 2026-09-10 15:38:50 -03:00
Matheus 2c73b64e3f wlan: set_key and del_key 2026-09-10 14:11:12 -03:00
Matheus d3ff861386 wlan: association/disasssociation api and ioctls 2026-09-10 12:43:27 -03:00
Matheus 9b0f202bdb wlan: expose scan, scan wait and bss cache get to userspace 2026-09-10 12:12:50 -03:00
Matheus 6a8ed4a99c wlan: finish glue between u80211 and u80211_drv 2026-09-10 10:41:52 -03:00
Matheus daebfd89b5 net: consume descriptor on tx 2026-09-09 22:39:34 -03:00
Matheus 8134c00b69 wlan: registration of devices 2026-09-09 22:06:20 -03:00
Matheus 84ad92b475 u80211_drv: port over rtl8188eu driver 2026-09-09 19:08:14 -03:00
Matheus 2328f889ef kernel: firmware loading 2026-09-09 18:06:17 -03:00
Matheus de0d5cb8f9 vfs: root event signaling 2026-09-09 16:26:10 -03:00
Matheus 1b4e257793 work: initial implementation 2026-09-08 23:37:19 -03:00
Matheus 017a08a793 ports: bump mlibc/frigg 2026-08-19 19:46:44 -03:00
Matheus 65358e6705 sysctl: SYS_CTL_HW_CPUS_ONLINE 2026-08-13 00:43:15 -03:00
Matheus c194569d65 audio: mode selection 2026-08-07 08:27:17 -03:00
Matheus c75b45436a audio: allocate streams separately from devices 2026-08-05 22:44:36 -03:00
Matheus 6e5e9ecdc5 mm: add flags argument to mm_cache_get_page 2026-07-18 15:24:31 -03:00
Matheus 02ba3e3939 slab: fix smp false sharing 2026-07-17 18:06:25 -03:00
Matheus 7ab18babf4 abc: use pushlocks directly 2026-07-17 15:59:15 -03:00
Matheus afd9d8d3a0 rename: RENAME_NOREPLACE 2026-07-14 16:37:48 -03:00
Matheus c0cf666e5f fatfs: migrate to advanced buffer cache 2026-07-14 14:45:44 -03:00
Matheus 967ca19436 kernel: advanced buffer cache 2026-07-13 22:36:39 -03:00
Matheus 1512b2f3c6 mm: properly implement page locking 2026-07-08 01:37:12 -03:00
Matheus f46d85fe6d socket: fix close shutdown properly 2026-07-07 16:49:45 -03:00
Matheus c75617a6e2 localsocket: implement SO_RCVTIMEO and SO_SNDTIMEO 2026-07-07 02:17:26 -03:00
Matheus 7f8fd07f39 sock: sock_copy_addr_to_user 2026-07-05 16:16:05 -03:00
Matheus 4699055cee kernel: remove unused header 2026-07-02 21:49:41 -03:00
Matheus 30cdfbb63c mm: more page pinning work 2026-07-01 21:25:27 -03:00
Matheus bec7abc91a mm: refactor mm.c to use snake_case 2026-07-01 15:13:30 -03:00
Matheus 239c267ed3 mm: rename vmm api to mm 2026-07-01 15:00:46 -03:00