Commit Graph

596 Commits

Author SHA1 Message Date
Vincent Ollivier 3ccb1c0e44 Update changelog 2022-08-28 18:40:27 +02:00
Vincent Ollivier e1be97167e
Add RTC device file (#400)
* Add RTC device file

* Add support for updating the RTC

* Handle 12 hour format

* Check date time

* Add device size
2022-08-28 18:38:48 +02:00
Vincent Ollivier d5c0002f6d
Update shell redirections (#399)
* Update shell redirections

* Allow file truncation during redirection

* Print time output to stderr
2022-08-28 17:26:38 +02:00
Vincent Ollivier 5d0451e379
Improve http timeout (#397) 2022-08-28 17:26:13 +02:00
Vincent Ollivier 0724b5a07b
Move /ini/lisp to /lib/lisp (#398) 2022-08-27 13:07:32 +02:00
Vincent Ollivier 7f3baa2c60
Switch HTTP server to HTTP 1.1 (#395)
* Switch to connection keep-alive

* Upgrade to HTTP 1.1

* Add pcap to makefile
2022-08-27 12:36:20 +02:00
Vincent Ollivier d965a72a81
Add cache to AtaBlockDevice (#396)
* Add cache to AtaBlockDevice

* Add methods for cached blocks

* Rename cache index to hash

* Add ATA_CACHE_SIZE

* Refactor code
2022-08-25 20:30:14 +02:00
Vincent Ollivier ec1fff6440
Fix makefile variables (#394) 2022-08-25 13:48:23 +02:00
Vincent Ollivier 806fbd9d70
Add makefile arg for qemu audio (#393) 2022-08-25 09:08:04 +02:00
Vincent Ollivier b11f0aeb96
Add new forms to lisp (#385)
* Add decode-float and encode-float forms

* Add uptime form

* Add write-bytes form

* Add list form

* Add new forms to move print to core lib

* Rename file io forms

* Update doc

* Merge cat into string

* Rename *code-float to *code-number

* Add write-file and append-file forms

* Add doc about the core library

* Add regex-find

* Add not

* Add regex-match

* Update doc

* Bump lisp version

* Add realtime

* Update doc
2022-08-25 08:48:19 +02:00
Vincent Ollivier f1a19e2055
Improve HTTP server (#391)
* Link host 8080 port to qemu 80

* Add root dir

* Add support for images

* Add Response struct

* Refactor response buffer creation

* Add index file support

* Copy www dir

* Update trailing slash rule

* Add command line arguments

* Remove strftime function

* Add read only mode

* Implement Display

* Add colored output

* Add Request struct

* Add common date time format

* Add time::now_utc

* Add connexions pool

* Reduce wait time

* Add install --yes

* Fix typo

* Add more mime types
2022-08-25 08:42:35 +02:00
dependabot[bot] 8526e67174
Bump raw-cpuid from 10.4.0 to 10.5.0 (#390) 2022-08-21 22:05:53 +00:00
Vincent Ollivier 6397faec44
Update users file (#389)
* Rename passwords.csv to users.csv

* Allow login with empty password
2022-08-17 17:41:56 +02:00
Toguy 149ab3ede8
ATA: Sata LBA2 wrong address (#388)
According to [this osdev page](https://wiki.osdev.org/ATA_PIO_Mode#Detecting_device_types), the address for the CH register (LBA2) for the SATA drives should be 0xC3 instead of 0x3C.
2022-08-15 00:13:38 +02:00
dependabot[bot] 38557b286e
Bump libm from 0.2.3 to 0.2.5 (#386) 2022-08-14 09:51:39 +00:00
Vincent Ollivier e0596f9f77
Add file append (#387)
* Add file append

* Fix off by one error

* Use append in reopen for shell redirections

* Add documentation

* Update tests
2022-08-14 01:12:52 +02:00
Vincent Ollivier 0dc7c381f3
Improve QEMU options (#384)
* Add kvm acceleration

* Ignore signal with serial

* Remove disk warnings

* Remove audio warnings
2022-08-11 08:44:07 +02:00
Vincent Ollivier dbe75aa9d8 Publish version 0.8.0 2022-08-05 18:09:38 +02:00
Vincent Ollivier 73f7ccb240 Run cargo update 2022-08-05 18:09:38 +02:00
dependabot[bot] fa04b8ba81
Bump raw-cpuid from 10.3.0 to 10.4.0 (#375) 2022-08-03 05:21:52 +00:00
Vincent Ollivier 78756bb94e
Add Brautigan poem (#373) 2022-08-01 21:28:28 +02:00
dependabot[bot] 4431a3ef34
Bump libm from 0.2.2 to 0.2.3 (#372) 2022-08-01 06:32:53 +00:00
dependabot[bot] 5cd83ca0fb
Bump x86_64 from 0.14.9 to 0.14.10 (#368) 2022-07-21 09:34:21 +00:00
dependabot[bot] 95bdd0f0b3
Bump spin from 0.9.3 to 0.9.4 (#369) 2022-07-21 09:30:16 +00:00
dependabot[bot] ea04b983af
Bump vte from 0.10.1 to 0.11.0 (#371) 2022-07-21 09:24:49 +00:00
Vincent Ollivier c341aef9be
Fix variables expansion (#370)
* Add status env var

* Add variable_expansion function

* Add special case for status shortcut

* Remove debug

* Add test
2022-07-17 15:39:38 +02:00
Vincent Ollivier 79682d2302
Add tilde expansion to shell (#367)
* Add tilde expansion to shell

* Add tilde expansion to auto complete

* Move tilde expansion into split_args

* Add doc
2022-07-10 22:00:13 +02:00
Vincent Ollivier 2f25c4a1ef
Improve http command (#365)
* Fix host arg

* Add support for binary output

* Send binary data to stdout directly

* Remove header struct

* Refactor states

* Refactor arg match

* Add missing -v option

* Trim protocol from url

* Fix separator when listing root
2022-07-08 09:02:27 +02:00
Vincent Ollivier 2426d2ff94
Upgrade linked list allocator (#363)
* Bump linked_list_allocator from 0.9.1 to 0.10.0

Bumps [linked_list_allocator](https://github.com/phil-opp/linked-list-allocator) from 0.9.1 to 0.10.0.
- [Release notes](https://github.com/phil-opp/linked-list-allocator/releases)
- [Changelog](https://github.com/rust-osdev/linked-list-allocator/blob/main/Changelog.md)
- [Commits](https://github.com/phil-opp/linked-list-allocator/compare/v0.9.1...v0.10.0)

---
updated-dependencies:
- dependency-name: linked_list_allocator
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Convert HEAP_START addr to ptr

* Bump to 0.10.1

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-07-08 08:43:13 +02:00
Vincent Ollivier 3789a10df6
Improve lisp (#362)
* Parse empty strings

* Add append to core

* Add reverse to core

* Add read-line to core

* Remove prompt from read-line

* Change print return value

* Fix read-line

* Add trigonometric functions

* Update documentation

* Setup autocompletion semi-automatically
2022-07-02 15:24:30 +02:00
Vincent Ollivier 62097d8e97 Update changelog 2022-07-02 07:16:58 +02:00
Vincent Ollivier b202192810
Remove superfluous use of lazy_static (#364) 2022-06-30 07:15:58 +02:00
Vincent Ollivier e4ce2ab59c
Use exit code to set status var (#360)
* Use exit code

* Add macro_use to sys module

* Replace ExitCode with Result<usize, usize>

* Add status var

* Fix status code

* Replace status with ?

* Fix regex for var substitution

* Remove warnings

* Add temporary fix for failing tests

* Add q shortcut to calc

* Use usize for exit code

* Use process exit codes

* Reintroduce ExitCode enum

* Use ExitCode::UsageError where needed

* Display usage error in find command

* Add doc
2022-06-29 19:23:01 +02:00
Vincent Ollivier b1d10eaf47 Update changelog 2022-06-26 10:04:13 +02:00
Vincent Ollivier 82882ec355
Add shell aliases (#357)
* Add shell aliases

* Fix env output error

* Fix sort

* Read aliases from config file

* Simplify arguments parsing

* Fix test

* Clone params to spawn syscall

* Run clippy

* Revert "Clone params to spawn syscall"

This reverts commit 4c91bea196.

* Disable binary stripping

* Remove exit alias

* Update doc
2022-06-26 10:00:54 +02:00
dependabot[bot] cd6cdceb73
Bump object from 0.28.4 to 0.29.0 (#358) 2022-06-23 18:50:31 +00:00
Vincent Ollivier 851bf65a8c
Fix args ptr alignment (#359)
* Update toolchain

* Rewrite args_ptr to fix alignment issue
2022-06-23 20:49:29 +02:00
Vincent Ollivier 629e254a51
Improve regex for redirections (#356) 2022-06-17 20:22:28 +02:00
Vincent Ollivier b16f5fc9fd
Store current direction in DIR shell variable (#355) 2022-06-17 20:08:55 +02:00
Vincent Ollivier 73f6d06be3 Update changelog 2022-06-16 21:41:01 +02:00
Vincent Ollivier cbf115b781
Add userspace entry_point macro (#354)
* Add entry_point macro

* Simplify userspace programs with entry_point macro

* Fix tests
2022-06-16 21:40:00 +02:00
Vincent Ollivier 783a41981d
Add shell globbing (#352)
* Add naive implementation

* Add support for multiple files in delete command

* Update find usage

* Ignore quoted params

* Add doc

* Change argument name
2022-06-16 21:29:45 +02:00
Vincent Ollivier 3562802d9c Update changelog 2022-06-16 19:42:47 +02:00
Vincent Ollivier 8293413dbb Update readme 2022-06-16 19:42:10 +02:00
Vincent Ollivier a177e47306
Add Coords struct to editor (#347) 2022-06-14 22:44:19 +02:00
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