david پوش کردن به master در david/vm-deploy

  • 40f16a0fec catch error and umount vfs Signed-off-by: greatbridf <greatbridf@icloud.com>

1 روز پیش

david پوش کردن به master در david/vm-deploy

  • 049e180493 add deploy script Signed-off-by: greatbridf <greatbridf@icloud.com>

1 روز پیش

david شاخه ی جدید masterدرdavid/vm-deploy ایجاد شد

1 روز پیش

david مخزن ایجاد شده david/vm-deploy

1 روز پیش

david پوش کردن به master در david/naiveserver

  • ebd0bbc8e9 add xray and warp into the complex Signed-off-by: greatbridf <greatbridf@icloud.com>
  • da44633183 show info about dirs in readme file Signed-off-by: greatbridf <greatbridf@icloud.com>
  • 9330ea748b add dockerfile, docker compose config and caddy config template Readme document as well, of course. Signed-off-by: greatbridf <greatbridf@icloud.com>

1 روز پیش

david شاخه ی جدید masterدرdavid/naiveserver ایجاد شد

1 روز پیش

david مخزن ایجاد شده david/naiveserver

1 روز پیش

david پوش کردن به feat/driver/e1000e-rework در david/eonix

  • 3140316f9b Merge branch 'master' into dev-drivers
  • 66c94103a8 partial work of netdev
  • f07a81c34a Merge pull request #33 from greatbridf/fix fix(ext4): use new Instant and get_name methods
  • 835a1ef4d2 fix(ext4): use new Instant and get_name methods
  • 3219293b2f Merge pull request #31 from greatbridf/fix-syscall Implement various syscalls and fixed some **funny** bugs.

5 روز پیش

david شاخه ی جدید feat/driver/e1000e-reworkدرdavid/eonix ایجاد شد

5 روز پیش

david پوش کردن به fix/sigcont-panic در david/eonix

  • 45864d7432 signal: don't disable preemption before handling SIGSTOP For some reason, we disabled preemptions before we set the waker and yield. This is prohibited since we can't go to sleep with preemption disabled. After examining the previous commit, I think we used to call Scheduler::schedule() to do context switches, which needs preemptions disabled. When we move on to the new method, we just forgot to change it. This should fix the issue. Fixes: e23c9eb1f24c ("runtime: new task sleep-wakeup method and some adaption") Signed-off-by: greatbridf <greatbridf@icloud.com>
  • 997edb05a2 proc: rewrite process list organization - Use intrusive lists to store and organize the process hierarchy. - Remove `FileArray::open_console()`. Do it in the init script instead. - Fix open logic: acquire controlling terminals only if O_NOCTTY is not set. Put this into TerminalFile::open(). - Send SIGHUP and then SIGCONT to foreground pgroup procs when the controlling terminal is dropped. - Set the controlling terminal of sessions in Terminal. - Limit max line width to 80. Format some codes. Signed-off-by: greatbridf <greatbridf@icloud.com>
  • b6d54d6a0f mm, proc: add an exited thread reaper - thd.exit() will set thd.dead and send it to the reaper - delay the release of process mm until we reap it - extract futex logic out of exit and exec routine Signed-off-by: greatbridf <greatbridf@icloud.com>
  • 47d890648a chore: remove and ignore vscode settings from svc Signed-off-by: greatbridf <greatbridf@icloud.com>
  • bc84f0be80 user, init: update riscv64 init script Make print message prettier. Also panic when we have an error. Signed-off-by: greatbridf <greatbridf@icloud.com>

5 روز پیش

david شاخه ی جدید fix/sigcont-panicدرdavid/eonix ایجاد شد

5 روز پیش

david پوش کردن به feat/driver/serial-wakers در david/eonix

  • 82470afc34 driver, serial: correct async wait impl Previously, we use the WaitList to sleep and wakeup in the worker task. Replace the implementation with wakers. Signed-off-by: greatbridf <greatbridf@icloud.com>
  • 19f9ef3351 vfs: rework the vfs subsystem with async Inode and superblock rework: Remove old Inode trait as it used to undertake too much responsibility. The new method use three new traits: InodeOps is used to acquire generic inode attributes. InodeFileOps and InodeDirOps handle file and directory requests respectively. All the three have async fn trait methods and don't need to be ?Sized. Then, we implement Inode, InodeFile and InodeDir for the implementors of the three "Ops" traits, erasing their actual type and provide generic dyn interface by wrapping the futures in boxes. We should provide an io worker? or some io context with an allocator for futures to reduce the overhead of io requests, or come up with some better ideas? For inode usage, we introduce InodeRef and InodeUse. InodeRef is a simple wrapper for Weak<impl Inode> and InodeUse for Arc<impl Inode>. This helps us use them better as we can't define impls for Arc<dyn Inode>'s as they are foreign types. We also provide some more helper methods for them. After the change, we don't impose ANY structural restriction except for the spinlock wrapped InodeInfo. The InodeInfo struct design might need rethinking but the current implementation seems to be fine aside from unnecessary locks when we try to access some of its fields but this shouldn't be a VERY big problem and very urgent... Similar changes are also made to superblock traits and types. But for the superblock objects, we use a SuperBlockComplex struct to store common fields such as whether the superblock is read only, their device id and so on. Also the structs have a superblock rwsem inside. But we haven't decided how to use that (such as whether we should acquire the lock and pass it to the inode methods) and even whether they should exist and be there. This will need further thinking so we put this off for now... Filesystem rework: Rework tmpfs, fatfs and procfs with the new technology mentioned above, leaving the old ext4 unchanged. The current implementation of ext4 uses some "random" library from the "camp". Its code hasn't been fully reviewed for time reasons but seems to be rather "problematic"... We might rewrite the whole module later and the page cache subsystem requires fully reworking as well. So we put this work off as well. Block device and other parts rework: Wraps PageCacheBackend, MountCreator and BlockRequestQueue with async_trait to provide dyn compatible async functions. Dentry walking functions are also put to the heap since they are recursive functions... This has similar problems to the inode traits, ugly solution. Further optimization is required. Signed-off-by: greatbridf <greatbridf@icloud.com>
  • 755b006871 Merge pull request #58 from greatbridf/fix/termios-buffer-overflow syscall: fix struct termios definitions
  • 2967de5de3 syscall: fix struct termios definitions Fixes the buffer overflow caused by the wrong struct size. Signed-off-by: greatbridf <greatbridf@icloud.com> (cherry picked from commit de12291ceebab608e6ff89bf9e41a3ab479f19ce) Signed-off-by: greatbridf <greatbridf@icloud.com>
  • 2fc31b7eb3 Merge pull request #59 from greatbridf/fix/loongarch64-boot fix(hal): fix loongarch's boot fault

5 روز پیش

david شاخه ی جدید feat/driver/serial-wakersدرdavid/eonix ایجاد شد

5 روز پیش

david پوش کردن به fix/x86-build در david/eonix

  • 11c6603602 pipeline: remove loongarch64 and add x86 build and test We don't really care about loongarch64... Signed-off-by: greatbridf <greatbridf@icloud.com>
  • 0fefeff6ab hal: set int state and user mode in TrapContext::new We always need to specify interrupt enabled state and whether we're in user mode after we create a trap context otherwise the behavior may alter on different platforms. So make it default. Signed-off-by: greatbridf <greatbridf@icloud.com>
  • 42b5a096e8 style: reformat thread.rs No functional change. Signed-off-by: greatbridf <greatbridf@icloud.com>
  • 425291d85a hal: add a function to setup kernel call frames Setting up call frames manually is highly architecture dependent, such as stack alignment at function entry and argument passing rules. Leave this work to the HAL crate to relief the end users from complexity. Signed-off-by: greatbridf <greatbridf@icloud.com>
  • 8a6acc4fe7 hal: support breakpoint trap type Breakpoint is INT 3 on x86. Also insert the int 3 instruction in stackful(). Signed-off-by: greatbridf <greatbridf@icloud.com>

5 روز پیش

david شاخه ی جدید fix/x86-buildدرdavid/eonix ایجاد شد

5 روز پیش

david شاخه ی حذف شده ی main درdavid/eonix

5 روز پیش

david پوش کردن به master در david/eonix

  • 755b006871 Merge pull request #58 from greatbridf/fix/termios-buffer-overflow syscall: fix struct termios definitions
  • 2967de5de3 syscall: fix struct termios definitions Fixes the buffer overflow caused by the wrong struct size. Signed-off-by: greatbridf <greatbridf@icloud.com> (cherry picked from commit de12291ceebab608e6ff89bf9e41a3ab479f19ce) Signed-off-by: greatbridf <greatbridf@icloud.com>
  • 2fc31b7eb3 Merge pull request #59 from greatbridf/fix/loongarch64-boot fix(hal): fix loongarch's boot fault
  • d962c61b0f fix(hal): fix loongarch's boot fault - use the next level's huge page, to fix the **funny** "pagesize 38 is illegal" Reword the commit message to fix a typo. (cherry picked from commit c2e8f822e9b27c87bb2913f88e688f323afcdf86) Signed-off-by: greatbridf <greatbridf@icloud.com>
  • affe0c764b Merge pull request #46 from greatbridf/task-rework Tasking subsystem rework and ext4 crate replace. Suggested-By: Heinz <aurelianob808@gmail.com> Signed-off-by: greatbridf <greatbridf@icloud.com>
  • مشاهده مقایسه برای کامیت 356 »

5 روز پیش

david پوش کردن به master در david/reclaimd

  • f385fd9fa1 feat: support per cgroup reclaim Signed-off-by: greatbridf <greatbridf@icloud.com>

5 روز پیش

david پوش کردن به master در david/reclaimd

  • 658f70da75 feat: extract real reclaim to a function Put real reclaim work in a function so we can print memory usage info even if we don't really perform the reclaim. Signed-off-by: greatbridf <greatbridf@icloud.com>

5 روز پیش

david پوش کردن به master در david/reclaimd

  • 184ba24386 feat: psi delta integral based reclaim Signed-off-by: greatbridf <greatbridf@icloud.com>

5 روز پیش