* Add calc doc
* Link doc from readme
* Rename stdnil to stdnull
* Add items to the TODO list in the README
* Update instructions in the README
* Improve feature list in README
* Add link to doc in README
* Disable unused show command
* Add colors to chess perf command
* Add sys::ata::Drive struct
* Add fs size to superblock
* Add missing usage option to disk command
* Update changelog
* Store ata::Drive in AtaBlockDevice
* Store allocated block count in superblock
* Rename Superblock to SuperBlock
* Add superblock to memfs
* Use Block instead of LinkedBlock for BlockBitmap
* Rename BlockBitmap to BitmapBlock
* Fix removed const
* Remove some hardcoded constants
* Fix BitmapBlock::free_all
* Allocate the whole remaining disk space
* Use memory size to alloc memfs
* Dynamically use half of the memory for the heap
* Add SuperBlock::check_ata
* Move init to mod.rs
* Update python fuse
* Add BITMAP_SIZE constant
* Fix available space computation
* Limit the heap to 8 GB max
* Fix memfs size
* Add a regular expression engine
* Fix off by one error
* Add + quantifier
* Add more tests
* Use assert_eq instead of assert in tests
* Rewrite tests with an array
* Fix bug in is_match_star
* Use the same do while equivalent in is_match_plus
* Add ? quantifier
* Refactor engine code
* Add backslash char
* Group ifs in match
* Add special escaped chars
* Add doc
* Add find command
* Add Match#find
* Show multiple matches in the same line
* Dry Regex
* Change matches color
* Add greedy version of matching by default
* Add MetaChar enum to fix matching escaped chars
* Change function signatures
* Remove macro_export
* Add TODO
* Find matching lines recursively
* Handle special patterns
* Add creation time to dir entry
* Update and publish fuse script
* Change boot offset in doc
* Change creation time into last modified time
* Add sort parameter to list command
* Add error for missing sort key
* Add shortcut params for sort
* Add HTTP server
* Update server code
* Support PUT method to update files
* Support DELETE method to delete files
* Add kernel::console::abort() to detect ^C
* Update network monitoring
* Drain console input after a program stopped
* Refactor loop exits
* Remove mut keyword
* Use MTU for TCP sockets buffer size
* Fix empty lines
* Support directory creation
* Use mtu for chunk size
* 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.
* Add doc about fs
* Add console on diskless boot
* Enumerate all disks
* Avoid hardcoded allocation of root dir
* Refactor ATA code
* Add BlockDevice
* Add mkfs command
* Update readme
* Add warning in the readme about disk modifications
* Use all bits inside BlockBitmap data
* Add makefile
* Overwrite only bootloader and kernel in disk image
* Update readme
* Add doc about mkfs
* Update mkfs command
* 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
* Add basic filesystem
* Fix duplicate call to shell in main loop
* Add file type and size to dir entry
* Add sleep after write to avoid failures
* Add list command
* Add dir creation
* Add comment to write dir command
* Move File struct
* Update readme
* Sort files by name in list command
* Create some default dirs
* Avoid opening dirs with File::open
* Create default dirs on the filesystem
* Update read command to mirror list for dirs
* Add delete command