Commit graph

288 commits

Author SHA1 Message Date
Sam Tebbs
389588c285 Try going back to the latest ubuntu version 2021-05-05 21:32:30 +01:00
Sam Tebbs
86ac4a43a7 Use install_path everywhere 2021-05-05 21:30:08 +01:00
Sam Tebbs
f774793c60
Merge pull request #300 from ZystemOS/feature/zig-update
Update to zig master (0d92bd474)
2021-04-27 19:41:10 +01:00
InfRandomness
3e70d31001 Try to correct build error by changing distro used 2021-04-27 19:21:14 +01:00
Sam Tebbs
6b4d313f9b Update to zig master (0d92bd474) 2021-04-09 20:30:07 +01:00
Edward Dean
09e3be69a8
Merge pull request #292 from ZystemOS/feature/improve-build-speed
Improve build speed
2021-03-07 21:25:22 +00:00
Edward Dean
64a91ff7e4 Improve build speed
This improves the speed of clearing of the FAT image with using a bigger buffer
Zig master
2021-03-05 17:03:27 +00:00
Edward Dean
0d2325d73a
Merge pull request #290 from ZystemOS/feature/page-unmap-with-allocator
Add allocator to paging unmap to free allocated entries
2021-02-25 21:00:09 +00:00
Edward Dean
4b219c43d7 Add allocator to paging unmap to free allocated entries
fmt
2021-02-25 20:30:18 +00:00
Sam Tebbs
d2da8a55bd
Merge pull request #289 from ZystemOS/feature/remove-constants.zig
Remove constants.zig
2021-02-23 21:22:20 +00:00
Sam Tebbs
f62ba58f1a Remove constants.zig 2021-02-22 14:22:54 +00:00
Edward Dean
9ca2541330
Merge pull request #288 from ZystemOS/feature/update-to-master
Update to zig master
2021-02-21 18:22:08 +00:00
Edward Dean
3020167ddc Update to zig master 2021-02-17 17:12:40 +00:00
Sam Tebbs
b433dee288
Merge pull request #287 from ZystemOS/remote-kbd-test-code
Remove keyboard test code
2021-01-25 17:44:16 +00:00
Sam Tebbs
e48c1a2e3c Remove keyboard test code 2021-01-25 17:38:46 +00:00
Sam Tebbs
c414e9c170
Merge pull request #286 from ZystemOS/feature/zig-update
Update to zig master
2021-01-25 17:37:42 +00:00
Sam Tebbs
aaaa6405ad Update to zig master 2021-01-23 13:26:59 +00:00
Edward Dean
ddbbff8651
Merge pull request #285 from ZystemOS/feature/fat32-write
Feature/fat32 write
2021-01-04 17:19:36 +00:00
DrDeano
4afecd6508
See description
Added finding the next free cluster
Added name to long name
Added long name to short name
Added tests for above

Added createLongNameEntry + tests

Moved tests to bottom

Added createShortNameEntry + test

Used the RTC for the date and time for the created short entry

Tidied createEntries


A bit of refactor

No symlinks for FAT32

findNextFreeCluster updates FAT

Reordered tests to better follow the FAT32FS code
FAT32 has no support for symlinks, so removed code around this.
Removed open_args from createNode as it doesn't need it

Added writeEntries + tests

Write the short and long entries to disk
findNextFreeCluster update cluster chain with parent cluster

Added FAT32 write + tests

This Added the ability to create files and directories and write to files.
Added location of the short dir entry for the file so can update the size of the file on disk
Added folders to the test FAT32 directory.
Also fixed minor bug in mkfat32

Added check for destroying the filesystem


Fixed error message for cluster size


Simpler if condition


0x0FFFFFFF => 0xFFFFFFFF


Spelling


Fixed test
2021-01-04 08:50:20 +00:00
Edward Dean
5fbb8871a4
Merge pull request #278 from ZystemOS/bugfix/vfs-close-parent-dir
SymlinkNode + umount + closeing dir path
2021-01-02 23:07:55 +00:00
DrDeano
d32c52b13b
SymlinkNode + umount + closeing dir path
Added a symlink node so can close a open symlink.
Added umount to can unmount a directory.
Closes open directories while traversing the path.
Closes #277
2021-01-02 23:02:54 +00:00
Edward Dean
d8cb4a5a77
Merge pull request #276 from ZystemOS/feature/fat32-test
Bugfix: Fixed FAT32 tests
2020-12-28 13:32:34 +00:00
DrDeano
f87f66a37f
Fixed FAT32 tests
Git workflow changed to run on any push
Mount in utf8 so copies files unicode filenames correctly
Renamed large_file2 to large_file
2020-12-27 13:31:07 +00:00
Edward Dean
5e4d95c6f9
Merge pull request #275 from ZystemOS/feature/fat32-read
Added read functionality for FAT32
2020-12-12 22:39:20 +00:00
DrDeano
45f37dc3c1
Added read functionality to FAT32
Create test FAT32 image on build
Moved test files to test_files directory
Removed global array for test fat32
Part of #216
Removed hard coded test files


Use @embedFile for large file test
2020-12-12 22:31:42 +00:00
Sam Tebbs
9700ad4d82
Merge pull request #274 from ZystemOS/feature/clean-mock-files
Remove unneeded mocking files
2020-12-08 18:28:54 +00:00
Sam Tebbs
b8ebc5f341 Remove unneeded mocking files 2020-12-07 23:15:35 +00:00
Edward Dean
285b8d9579
Merge pull request #271 from ZystemOS/feature/vfs-close-dir
Added the ability to close a directory node
2020-12-07 22:49:41 +00:00
DrDeano
0497beb5c6
Added the ability to close a directory node
Updated docs
Closes #270


Update doc comment


Moved close to closeFile and closeDir in VFS


Moved back to @ptrCast()


Always forget to format


Added TODO comment
2020-12-07 22:45:28 +00:00
Edward Dean
e2e105a1f9
Merge pull request #272 from ZystemOS/feature/fat32-open
Feature/fat32 open
2020-12-07 18:34:30 +00:00
DrDeano
d5de173fd3
Add a quick format option for mkfat32
Added open implementation

Needed to return a pointer to the file system as `@fieldParentPtr(Fat32Self, "instance", fs.instance)` doesn't work as the the pointer to `instance` is on the stack, then goes out of scope when the init is returned. So will be using free stack space.
Part of #216

Spelling, doc comments and extra test for open file


init -> create, deinit -> destroy
2020-12-07 18:29:16 +00:00
Edward Dean
48e0779d84
Merge pull request #269 from ZystemOS/feature/fat32-cluster-and-dir-entry-iterators
Added cluster and entry iterators
2020-12-01 10:06:32 +00:00
DrDeano
583b9ff43e
Added cluster and entry iterators
This adds iterators to loop over the FAT cluster chain and loop over entries in the directory structure of FAT32.
The tests use hand crafted buffers for a FAT32 filesystem. These are too small for real FAT32 but will still demonstrate the same functionality as if there were real FAT32 buffers.

Added tests for EntryIterator init

Fixed memory leaks
2020-12-01 09:54:45 +00:00
Sam Tebbs
9233b2dafa
Merge pull request #267 from ZystemOS/feature/syscall-errors
Add error handling for syscalls
2020-11-29 13:56:08 +00:00
Sam Tebbs
c0a0c164c3 Add error handling for syscalls 2020-11-29 13:47:23 +00:00
Sam Tebbs
3e5d2bec38
Merge pull request #268 from iamgweej/feature/zig-update
Feature/zig update
2020-11-29 13:11:27 +00:00
iamgweej
e90d861554 Changed to Int in std.meta 2020-11-29 13:05:51 +00:00
Sam Tebbs
eb1f02bb47
Merge pull request #261 from ZystemOS/feature/elf
Load ELF files
2020-11-22 22:43:26 +00:00
Sam Tebbs
0a45b733eb Add ELF loader 2020-11-22 22:38:51 +00:00
Edward Dean
1e834edd15
Merge pull request #264 from ZystemOS/feature/initial-fat32
Feature/initial fat32
2020-11-22 21:42:25 +00:00
DrDeano
fab372a6cf
Initial FAT32 interface
Include code page 437

This is now moved to a better location

Fixed initrd doc for allocator


Added test files

 Plus minor extras

Created initial FAT32 filesystem

This initial FAT32 filesystem will parse a stream, which could be a HDD or a in memory filesystem and produce a FAT32 filesystem. This will check if the raw bytes is a valid FAT32 filesystem as descibed in the spec.

This is only a skeleton with no open, read or write functionality.

Part of #216

logger -> log


Fmt


Removed 'zero_' from struct fields


number_free_cluster -> number_free_clusters


Return non allocated FAT32FS


prefix test_


Added doc comment for boot sector arrays


Moved code_page.zig


info -> debug for init FAT32


Abstracted getting code page table
2020-11-22 21:37:39 +00:00
Sam Tebbs
7b2599c964
Merge pull request #266 from ZystemOS/feature/vmm-copy-data-from
Rework copyDataToVMM to work in both directions
2020-11-22 20:45:07 +00:00
Sam Tebbs
6bbdadfa94 Rework copyDataToVMM to work in both directions 2020-11-20 17:44:01 +00:00
Edward Dean
a0c2bf758b
Merge pull request #262 from ZystemOS/feature/rename-log-to-logger
Rename the logger to log to make is all consistent
2020-11-13 19:20:30 +00:00
DrDeano
788bef5029
Rename the logger to log to make is all consistent
Move to `log`


Fixed kmain log
2020-11-13 19:16:25 +00:00
Edward Dean
ea6a0b7a9f
Merge pull request #263 from ZystemOS/feature/mkfat32-any-stream
mkFAT32 use a anytype stream
2020-11-11 16:58:59 +00:00
DrDeano
4f47409af6
mkFAT32 use a anytype stream
This allows mkFAT32 to work on a File or a fixedBufferStream or any streram that allows for reader(), writer() or seekableStream() interfaces.
2020-11-09 19:06:31 +00:00
Sam Tebbs
d9e776e898
Merge pull request #228 from ZystemOS/feature/user-mode
Add user mode
2020-11-07 09:04:08 +00:00
Sam Tebbs
307ea7a52e Add user mode 2020-11-07 09:00:10 +00:00
Sam Tebbs
fee4b27f14
Merge pull request #258 from ZystemOS/feature/use-testing-allocator
Check for memory leaks in all tests that allocate memory
2020-11-05 18:54:27 +00:00