Vincent Ollivier
Vincent Ollivier
Thank you for your time! I'll report back if I find something new about this issue.
For the bootloader I use the 0.9 version of this one: https://github.com/rust-osdev/bootloader/ But I currently have an issue with it because I need to move my kernel to the higher...
Here is a disk benchmark in lisp: ```janet (load "/lib/lisp/core.lsp") (var path "/tmp/bench.tmp") (var buf '(0)) (var i 0) (var n1 (str->num (first args))) (print (str "Creating a " (^...
Here is a few runs before the change: ``` ~ > lisp bench-disk.lsp 16 10 Creating a 65536 bytes buffer Writting buffer to file 10 time(s) Duration: 4.790879487991333 s Performance:...
With `hex` we can read the first block of the drive (which contains the beginning of the bootloader): ``` ~ > hex /dev/ata/0/0 00000000: 31C0 8ED8 8EC0 8ED0 8EE0 8EE8...
We can now store specific device information when we create them that can be used when opening them.
Currently `sys::fs::file::File::open()` doesn't allow to open the file representing a device on the file system. We could allow that to get information on the device from userspace. The first byte...
Now that we can directly read a drive in userspace we could read its superblock if it exists to get the number of blocks available and the number of blocks...
Example of Lisp code to read file: ``` (load "/lib/lisp/core.lsp") (var path (first args)) (var file (file.open path "r")) (var buf (file.read file 512)) (var stdout 1) (while (> (len...
This PR is not finished but it is already useful as it is so we can merge it and open another one to finish the work later.