* 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
* 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
* 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
* Rewrite Lisp parser
* Parse special symbols
* Add eval for calculator
* Replace original parser with the new one
* Handle escaped chars in strings
* Add more special characters to parser
* Refactor eval
* Add operations on files
* Refactor more of eval
* Add number parsing
* Refactor eval
* Improve error messages
* Use .lsp for lisp files
* Refactor eval
* Add ensure_len macro
* Add process table
* Add exit syscall
* Update binaries
* Make pid mutable
* Use RW lock for the process table
* Change pid atomic ordering
* Fix return code
* Fix lock issue
* Add debug print
* Add exit to sleep binary
* Enable asm_sym feature
* Use the end of code area for stack area
* Add debug macro
* Use array instead of vec for process
* Refactor process data clone
* Increase max file handles to 32
* Increase sleep to 5 seconds
* Fix MAX_PID calculation
* Revert max file handle value to fix crash
* Close file handle after dup syscall
* Remove init
* Run the test in release mode
* Refactor debug
* Refactor debug output of syscall
* Remove NULL syscall
* Save and restore stack frame
* Fix install
* Save only scratch registers to the stack
* Add write volatile to registers
* Overwrite rax register on exit
* Set pid back to 0 after exit
* Add alloc_page function
* Remove debug output
* Unmap pages after exit
* Allocate memory after kernel heap
* Hide unmap error
* Enable cursor after boot
* Remove unused time attribute on file
* Fix compilation warning
* Clear screen after vga init
* Add disable_blinking function
* Set palette registers at boot
* Set default palette
* Fix attribute control registers initialization
* Clear palette address source bit when setting palette
* Refactor code
* Remove index from palette
* Update comment
* Update changelog
* Add ELF loader
* Add elf reader
* Fix jump to entry point
* Update mapping code
* Update kernel data segment in GDT
* Refactor wrap macro
* Remove debug from process
* Remove jump to entry point
* Update hello binary
* Improve comments on asm code
* Rename Process#entry to Process#entry_point
* Use cli directly
* Add pic::init()
* Disable again interrupts after halt if needed
* Allow keyboard and serial events during memory init
* Update changelog
* Testing userspace code
* Update program example
* Refactor code
* Read bin from dsk/bin at compile time
* Create mapper and frame allocator during process creation
* Read bin from disk at runtime
* Add missing file
* Add missing bin
* Add src bin
* Replace debug output by a test syscall+binary
* Remove comments from asm files
* Rewrite sleep
* Replace test by hello
* Refactor hello example
* Translate address from user code segment
* Rename entry label
* Update readme and changelog
* Use entry_name for DirEntry
* Increase stack size
* Move keyboard key decoding to keyboard interrupt handler
* Read keys from serial
* Disable cursor in shell for serial
* Trim cpu brand string
* Use array for writer position
* Add Serial struct
* Add console::clear_row()
* Update autocomplete commands
* Parse ANSI color code
* Add colors to banner
* Remove newline before diskless mode
* Use lighter colors in banner
* Fix ansi color code parsing
* Use ansi colors in logger
* Rewrite colors command
* Add color to halt command
* Rewrite help command
* Use yellow color for titles
* User kernel::console::color() in shell
* Update screenshot
* Fix execute state in vte parser
* Fix typo
* Add colors to serial logger
* Fix banner colors
* Add some randomnly darker colors to banner
* Autocomplete devices path
* Create /ini/version.txt during install
* Add kernel::fs::mount
* Check if fs is mounted before opening dir
* Save password hash during user creation
* Create home directory during user creation
* Improve path checking in mkfs
* Improve mkfs output
* Add install command
* Check presence of username and password during user creation
* Update documentation
* Check if user already exists before creation
* Split hashed_password
* Add save_hashed_password
* Rename login command to user
* Display MOROS version in a consistent way
* Use ctrl+d instead of ctrl+c to exit shell
* Rename mkfs to disk format
* Add disk list command
* Change prompt color if last command errored
* Improve installer
* Use $ and > prompts in doc
Use $ and > prompts in doc to indicate commands outside and inside
of MOROS respectively.
* Display MAC address
* Add kernel::pci::find_device
* Mask lower bits of 16-bit Memory Space BAR
* Use array instead of vector for MAC address
* Split interrupts module
* Use IRQ constants instead of InterruptIndex enum
* Replace kernel::sleep by kernel::time
* Add kernel::idt::set_irq_handler
* Add interrupt handler for RTL8139
* Enable bus mastering for RTL8139
* Setup NIC
* Add features for vga/serial and qwerty/dvorak
* Add smoltcp crate
* Use EthernetAddress from smoltcp
* Add RTL8139 struct to implement smoltcp Device
* Save detected device
* Add kernel::mem::translate_addr
* Use physical address of rx_buffer
* Add command to read raw network data
* Parse packet header and length
* Fix missing ascii on last line
* Take CRC into account for packet length
* Fix compilation error
* Move buffer pointers after packet received
* Use buffer slice instead of clone in RxToken
* Add packet transmission and dhcp client
* Configure network interface with DHCP client
* Add debug mode to network interface
* Clean dhcp command output
* Add ip command
* Clean up commands output
* Count number of packets transmitted and received
* Add route command
* Add kernel::random::rand16
* Handle carriage return char
* Add HTTP client
* Improve http command output
* Add DNS resolver command
* Parse DNS responses to A IN queries
* Resolve http host
* Check if interface is ready before operations
* Add timeout to polling loops
* Fix sleep during polling
* Add verbose arg to http command
* Add State struct to Device struct
* Add subcommand config and dump to net command
* Add MTU to RX_BUFFER_LEN when using WRAP
* Fix first transmission index
* Refactor TxToken implementation
* Add user agent to http requests
* Add more comments to code
* Add llvm-tools-preview component to readme
* Add method to translate IRQ into system interrupt
* Clear IRQ mask in set_irq_handler
* Refactor driver code
* Sleep less rather than more
* Add rand32
* Disable RTL8139 interrupts
* Use arrays instead of vectors for buffers
* Add minimum sleep duration
* Add phy_addr to dry init
* Use CAPR and CBR to compute rx buffer offset
* Add debug for alloc issue with continuous physical memory
* Fix timeout in loops
* Add unused buffer to push the rx buffer into contiguous memory
* Add doc about network
* Update readme
* Add read /net/<proto>/<host>/<path> subcommand
* Fix off by one line error
* Change create_file and create_dir to return DirEntry
* Implement DirEntry#size
* Use filesize to copy file
* Add example of long text
* Replace sleep after write in FS by wait in ATA
* Start over with a full screen editor
* Add line editing
* Add ctrl commands to save and/or quit
* Prevent screen overflow
* Add missing rustup component