Commit Graph

351 Commits

Author SHA1 Message Date
Vincent Ollivier dd5899a74d
Read command line args from userspace programs (#351)
* Read command line args from userspace programs

* Use Stop syscall to debug pointers from userpace

* Fix address translation system

* Update binaries

* Move print to bin

* Add hardcoded alias system

* Strip debug from binaries

* Build userspace binaries before running tests

* Save all the args in args including the command invocation name

* Move sleep command to /bin

* Rebuild binaries
2022-06-14 22:43:33 +02:00
Vincent Ollivier 6e3f3afcb0
Add binaries (#350)
* Remove linker args

* Add binaries

* Read /bin for autocomplete

* Add /bin path to commands

* Remove api bin

* Remove usr reboot
2022-06-12 15:28:54 +02:00
Vincent Ollivier cd2e0166e6
Executable loading (#349)
* Add header to binary

* Add result to spawn

* Use spawn result to display error message

* Use info result to change directory

* Fix binary detection

* Fix lock issue
2022-06-09 22:59:33 +02:00
Vincent Ollivier 0831045c64
Add shell variables (#348)
* Add env vars to shell

* Add shell env

* Rename shell::run to shell::repl

* Add script pathname to shell env

* Add shell variables

* Add test

* Add doc

* Fix doc
2022-06-08 20:51:02 +02:00
Vincent Ollivier 9ad5f874e4 Update changelog 2022-06-06 16:03:50 +02:00
Vincent Ollivier b2da75189f
Improve Lisp (#344)
* Add println

* Rewrite fib

* Refactor parse

* Update lisp completer

* Store args in env

* Add 'or' and 'and' builtins

* Add factorial.lsp

* Update docs

* Add cat operation

* Add join operation

* Add system command

* Add time command (#346)

* Add time command

* Fix merge artefact

* Fix call to realtime

* Replace clock syscalls with device files (#345)

* Replace clock syscalls with device files

* Add missing newline to read

* Update time command

* Use Rc<RefCell<Env>>

* Add first TCO

* Remove Box

* Change result of env_for_lambda

* Run clippy

* Remove env clone

* Remove TCO

* Change return type of env_for_lambda
2022-06-06 16:02:34 +02:00
Vincent Ollivier 13ca997b7b
Add lazy allocation (#275)
* Add lazy allocation

* Add debug info

* Alloc stack directly

* Remove debug
2022-06-06 15:53:45 +02:00
Vincent Ollivier 28759df00c
Replace clock syscalls with device files (#345)
* Replace clock syscalls with device files

* Add missing newline to read

* Update time command
2022-06-05 13:58:05 +02:00
Vincent Ollivier d5512baeea
Add time command (#346)
* Add time command

* Fix merge artefact

* Fix call to realtime
2022-06-05 13:24:40 +02:00
dependabot[bot] b2dcb5dd8d
Bump smoltcp from 0.8.0 to 0.8.1 (#342) 2022-05-21 08:46:41 +00:00
Vincent Ollivier 530658221d
Add socket command (#341)
* Add socket command

* Add test.html page

* Refactory sending code

* Update documentation

* Fix newlines

* Add interval option

* Replace newlines

* Exit on end of transmission

* Add listen mode

* Fix arguments parsing

* Remove debug output
2022-05-21 10:46:16 +02:00
dependabot[bot] 8d2448281d
Bump object from 0.28.3 to 0.28.4 (#339) 2022-05-11 07:48:10 +00:00
Vincent Ollivier adb5390cbc
Replace ChaCha RNG by HC-128 (#338) 2022-05-11 09:47:35 +02:00
Vincent Ollivier 429a14974c
Build only moros image (#340) 2022-05-11 09:47:11 +02:00
Vincent Ollivier df4711e323
Refactor serial (#336) 2022-05-06 20:43:48 +02:00
Vincent Ollivier ed8cbf4b02 Update changelog 2022-05-05 23:30:25 +02:00
Vincent Ollivier c9998f01c2
Improve dhcp command (#335) 2022-05-05 23:29:02 +02:00
Vincent Ollivier a7cb32a5c2
Rewrite network interface (#334)
* Rewrite network interface

* Fix issue when cloning RLT8139 device

* Add Interface struct wrapping smoltcp iface

* Revert "Add Interface struct wrapping smoltcp iface"

This reverts commit ede7d5d0c9.

* Add back device stats

* Move stats code

* Rename eth_addr field to mac

* Add device config struct

* Fix usage of config and stats

* Make device init private

* Remove InnerStats and use Arc<Stats> directly

* Remove nic feature
2022-05-05 23:05:39 +02:00
Vincent Ollivier 50a48fcb75
Add CSI sequence for enabling or disabling echo to userspace (#333)
* Rename show/hide cursor to enable/disable

* Add enable/disable echo to vga

* Add CSI parser to serial

* Use csi sequence to enable/disable cursor in userspace

* Use AtomicBool instead of Mutex<bool>

* Simplify serial code
2022-04-26 13:30:53 +02:00
Vincent Ollivier 4d90d2da75
Refactor code (#330)
* Update changelog

* Update rust version

* Make changes suggested by Clippy
2022-04-19 22:42:15 +02:00
dependabot[bot] 0ed6579f49
Bump uart_16550 from 0.2.17 to 0.2.18 (#332) 2022-04-18 15:41:56 +00:00
dependabot[bot] da699ff96c
Bump spin from 0.9.2 to 0.9.3 (#331) 2022-04-18 15:31:35 +00:00
Vincent Ollivier 407d20c75c
Improve FUSE driver with write and delete (#292)
* Add write to FUSE driver

* Update code

* Fix file creation

* Remove debug print

* Remove more print statements

* Remove unsupported function

* Fix entries

* Allocate space for new dir entry

* Fix dir block size computation

* Add unlink

* Refactor private methods

* Remove debug operation
2022-04-15 13:00:54 +02:00
Vincent Ollivier 512b60564b
Fix device reading (#329)
* Avoid panic when reading device files

* Skip devices in find

* Fix root path in find
2022-04-15 13:00:33 +02:00
Vincent Ollivier dab43ade5b Update changelog 2022-04-12 10:07:08 +02:00
Vincent Ollivier 18bfaf93d7
Add a reboot command (#328)
* Add a reboot command

* Add STOP syscall

* Add ctrl-alt-del reboot keys

* Add comment to keyboard shortcut
2022-04-12 09:55:53 +02:00
Vincent Ollivier 41eaae9fbe
Fix issues with process alloc (#327)
* Fix off by one errors

* Simplify phys_addr

* Add offset to frame allocator

* Change code_addr

* Remove unknown commands

* Use allocated frames counter

* Remove debug code
2022-04-11 19:06:16 +02:00
Vincent Ollivier d365e18ec9 Publish version 0.7.1 2022-04-10 09:35:47 +02:00
Vincent Ollivier 5dce839e24 Update changelog 2022-04-10 09:31:45 +02:00
Vincent Ollivier 946ea95ff0
Refactor network commands (#322)
* Change debug color

* Rewrite net command

* Update doc

* Add dhcp --verbose

* Remove ip and route commands

* Align command outputs

* Adjust colors

* Use system dns if available with host command

* Add error macro

* Display network error

* Use error macro

* Fix broken test

* Update dir listing color

* Update syscall doc

* Use error macro in more commands
2022-04-10 09:27:12 +02:00
Vincent Ollivier 478faa7f27
Autocomplete binary path (#324) 2022-04-10 08:39:51 +02:00
Vincent Ollivier dd2b20f800
Handle backtab key for backward autocompletion (#321)
* Handle backtab key

* Handle backtab in editor
2022-04-09 09:24:05 +02:00
Vincent Ollivier 042367eb80 Update copyright year 2022-04-05 15:02:39 +02:00
Vincent Ollivier 2582dab09a Update changelog 2022-04-05 13:06:15 +02:00
dependabot[bot] 83d5b03b20
Bump object from 0.27.1 to 0.28.3 (#305) 2022-04-05 11:04:29 +00:00
Vincent Ollivier 3bef35b707
Upgrade smoltcp (#293)
* Upgrade smoltcp

* Fix issues

* Add back net monitor

* Update doc

* Fix net command help
2022-04-05 13:03:55 +02:00
dependabot[bot] b7fe97985c
Bump uart_16550 from 0.2.16 to 0.2.17 (#318) 2022-04-05 10:16:38 +00:00
dependabot[bot] 4a8d5edcf5
Bump x86_64 from 0.14.8 to 0.14.9 (#319) 2022-04-05 10:10:58 +00:00
Vincent Ollivier e785942792
Update rust toolchain (#320)
* Update rust-toolchain file

* Remove stable features

* Update bootloader crate

* Remove toolchain from GitHub Actions

* Avoid running installer interactively

* Remove rustup component add commands
2022-04-05 12:03:31 +02:00
dependabot[bot] 2eca645965
Bump raw-cpuid from 10.2.0 to 10.3.0 (#317) 2022-03-31 20:01:57 +00:00
dependabot[bot] 65d823467f
Bump pbkdf2 from 0.10.0 to 0.11.0 (#316) 2022-03-20 12:46:25 +00:00
dependabot[bot] f87a65d7a0
Bump x86_64 from 0.14.7 to 0.14.8 (#308) 2022-03-19 18:38:30 +00:00
dependabot[bot] 6a893133a1
Bump libm from 0.2.1 to 0.2.2 (#309) 2022-03-19 18:38:08 +00:00
dependabot[bot] 59034e6c8f
Bump rand from 0.8.4 to 0.8.5 (#310) 2022-03-19 18:34:57 +00:00
dependabot[bot] d789af6042
Bump sha2 from 0.10.1 to 0.10.2 (#312) 2022-03-19 18:29:20 +00:00
dependabot[bot] cc59aeec49
Bump hmac from 0.12.0 to 0.12.1 (#313) 2022-03-19 18:29:03 +00:00
dependabot[bot] 38e13e66cf
Bump nom from 7.1.0 to 7.1.1 (#315) 2022-03-19 18:28:29 +00:00
Vincent Ollivier 8c766bf686 Update changelog 2022-01-25 21:46:23 +01:00
Vincent Ollivier f044066f77
Fix various issues while reading files (#307)
* Define device file buffer in kernel

* Implement from u8 for Device

* Reading /dev/null result in error

* Reading an empty dir should not result in error

* Print all bytes from reading devices

* Print errors while reading devices

* Handle ^C and ^D when reading /dev/console

* Create pseudo device files for clocks

* Avoid hardcoding ^C and ^D

* Add missing comment
2022-01-25 21:42:21 +01:00
Vincent Ollivier d06f641731
Add Box to process data (#306)
* Add Box to file handle array

* Add Box to process table

* Update comment
2022-01-24 20:35:00 +01:00