greatbridf
|
755b006871
Merge pull request #58 from greatbridf/fix/termios-buffer-overflow
|
6 дней назад |
greatbridf
|
2967de5de3
syscall: fix struct termios definitions
|
5 месяцев назад |
greatbridf
|
2fc31b7eb3
Merge pull request #59 from greatbridf/fix/loongarch64-boot
|
6 дней назад |
Heinz
|
d962c61b0f
fix(hal): fix loongarch's boot fault
|
5 месяцев назад |
greatbridf
|
affe0c764b
Merge pull request #46 from greatbridf/task-rework
|
6 дней назад |
greatbridf
|
8c656b5898
configure: check and use ARCH given in env
|
5 месяцев назад |
greatbridf
|
c57b71ff95
Merge remote-tracking branch 'SMS-Derfflinger/ext4-replace' into task-rework
|
5 месяцев назад |
greatbridf
|
3fb4966118
task: fix infinite sleep in stackful tasks
|
5 месяцев назад |
greatbridf
|
34a6252968
feat: unwinding and printing stack backtrace
|
5 месяцев назад |
greatbridf
|
db931a8038
partial work: file array rework and asynchronize
|
5 месяцев назад |
greatbridf
|
973f6f2c71
partial work: vfs asynchronize
|
5 месяцев назад |
greatbridf
|
dee96a3a6a
syscall: migrate all syscalls to async...
|
5 месяцев назад |
greatbridf
|
21b765092f
task: fix stackful waker implementation
|
5 месяцев назад |
greatbridf
|
a622172587
trap: introduce Breakpoint fault type
|
5 месяцев назад |
greatbridf
|
30bfc5a0db
loongarch64, trap: rework to fix nested captured traps
|
5 месяцев назад |
greatbridf
|
9c900be225
task, thread: working version of threads
|
5 месяцев назад |
greatbridf
|
661a15940b
riscv64, trap: rework to fix nested captured traps
|
5 месяцев назад |
greatbridf
|
874a4fa000
task: migrate all Task::block_on calls to task::block_on
|
6 месяцев назад |
greatbridf
|
21dd5ea1c7
rcu: provide call_rcu() to call rcu drop asynchronously
|
6 месяцев назад |
greatbridf
|
5ada0d0634
build, Makefile: remove --feature if none is present
|
6 месяцев назад |
greatbridf
|
33ff3156a0
task: brand new block_on and stackful wrapper
|
6 месяцев назад |
greatbridf
|
6b152c74dd
riscv64, trap: fix kernel space trap returns
|
6 месяцев назад |
greatbridf
|
3ab454f6df
riscv64, trap: remove load_interrupt_stack impl
|
6 месяцев назад |
greatbridf
|
fb9a175e70
runtime: add trace logs and fix few bugs
|
6 месяцев назад |
greatbridf
|
e23c9eb1f2
runtime: new task sleep-wakeup method and some adaption
|
6 месяцев назад |
greatbridf
|
e89a286104
runtime: rework the whole runtime arch. (partial)
|
6 месяцев назад |
Heinz
|
a2c50b9a11
feat(fs): temporary cache write back strategy for ext4
|
6 месяцев назад |
Heinz
|
db1caebde5
feat(fs): partial work for ext4's page cache
|
6 месяцев назад |
Heinz
|
082c5c52b4
Merge branch 'master' into ext4-replace
|
6 месяцев назад |
greatbridf
|
4bb09f5ef9
Merge pull request #44 from greatbridf/pipeline
|
6 месяцев назад |
greatbridf
|
9a207f58ec
pipeline: disable kvm during the test
|
6 месяцев назад |
greatbridf
|
c0fcd375bd
build, Makefile: check for kvm presence before using it
|
6 месяцев назад |
greatbridf
|
35be7f9868
pipeline, Makefile: override the qemu provided in env
|
6 месяцев назад |
greatbridf
|
621d8996ed
pipeline: run some script to test functionalities
|
6 месяцев назад |
greatbridf
|
c8b721d605
pipeline: add test build pipeline
|
6 месяцев назад |
greatbridf
|
9e7e047578
Merge pull request #43 from greatbridf/comp-fix-syscall
|
6 месяцев назад |
greatbridf
|
5efa0f49f6
Merge pull request #39 from greatbridf/loongarch64
|
6 месяцев назад |
Heinz
|
806c4fe0ac
fix(fs): fix ext4's write offset update
|
6 месяцев назад |
greatbridf
|
b3ee4067e3
build-img.sh: use sudo only if detected and valid
|
6 месяцев назад |
greatbridf
|
d52f87d1f9
build: add an option to specify output filename in configure script
|
6 месяцев назад |
greatbridf
|
b321265202
mm, arch: refine page cache impl and count cpu on la64
|
6 месяцев назад |
greatbridf
|
3329f1bfa8
task: call platform shutdown on panicking for la64
|
6 месяцев назад |
greatbridf
|
f0dd8ec22c
syscall: fix wrong pselect6 syscall no for la64
|
6 месяцев назад |
greatbridf
|
287bb545c5
arch, la: setup timer and timer interrupt on bootstrap
|
6 месяцев назад |
greatbridf
|
40ca79574d
arch: shutdown support for loongarch64 virt platforms
|
6 месяцев назад |
Heinz
|
2d61f60c0c
syscall: more new syscall impls
|
7 месяцев назад |
greatbridf
|
5c9d03601a
style(riscv64): remove stale TODO message
|
6 месяцев назад |
greatbridf
|
333f3907d4
Merge branch 'master' into loongarch64
|
6 месяцев назад |
greatbridf
|
6c6195b183
Merge pull request #36 from Shao-ZW/pagecache
|
6 месяцев назад |
greatbridf
|
c5b5572fc6
chore: change some typo and format
|
6 месяцев назад |
greatbridf
|
1e785ffa92
Merge branch 'master' into pagecache
|
6 месяцев назад |
Heinz
|
22458ed33c
fix(fs): fix rename's metadata
|
6 месяцев назад |
Heinz
|
1d1a0257ba
feat(fs): impl rename
|
6 месяцев назад |
Heinz
|
5c4016615a
fix(fs): fix some informations
|
6 месяцев назад |
Heinz
|
d59a550880
feat(fs): impl remove file and dir.
|
6 месяцев назад |
Heinz
|
f05037374c
feat(fs): impl write, create and mkdir for ext4 fs
|
6 месяцев назад |
Heinz
|
f6c26c956c
perf: replace the annoyed ext4 crate with a new choice (called another ext4 crate
|
6 месяцев назад |
greatbridf
|
fdc65f0d30
feat: bug fix and some temporary solutions
|
6 месяцев назад |
greatbridf
|
84dca27600
feat(page cache): refactor PageCache to remove size parameter and add size method in backend
|
6 месяцев назад |
greatbridf
|
7da2b94cc2
Merge remote-tracking branch 'upstream/master' into pagecache
|
6 месяцев назад |
greatbridf
|
3cae0870ae
Merge pull request #37 from Shao-ZW/master
|
6 месяцев назад |
Zhuowei Shao
|
698ca6c5d7
Merge pull request #38 from greatbridf/fix-execve
|
7 месяцев назад |
greatbridf
|
d9e144bbb0
change(syscall): add tgkill and rename some syscall definitions
|
7 месяцев назад |
greatbridf
|
87345b756a
fix(execve): clear the registers after we've done the execve call
|
7 месяцев назад |
greatbridf
|
651149202a
fix(execve): clear the registers after we've done the execve call
|
7 месяцев назад |
greatbridf
|
af00747a1a
feat(arch): working impl of loongarch64
|
7 месяцев назад |
greatbridf
|
97574ce60b
feat(arch): add loongarch64 bootstrap code
|
7 месяцев назад |
zhuowei shao
|
ede54cb224
feat(wait): refactor waitid handling and introduce WaitId enum
|
7 месяцев назад |
Heinz
|
6d9027b71b
Merge pull request #35 from greatbridf/interpreter
|
7 месяцев назад |
greatbridf
|
ae41558771
Merge pull request #26 from SMS-Derfflinger/riscv64-smp
|
7 месяцев назад |
zhuowei shao
|
fe995aa528
feat: implement shared memory syscalls and mmap syscall for file mapping
|
7 месяцев назад |
zhuowei shao
|
409b0633e1
feat(page fault): refactor mmap page fault handle to deal with page cache and sharing mapping
|
7 месяцев назад |
zhuowei shao
|
af512033d5
feat: implement page cache for efficient vfs io
|
7 месяцев назад |
Heinz
|
21f6feb418
change(hal): change ap's temporary boot stack to only one stack
|
7 месяцев назад |
greatbridf
|
66f509c5d6
change(smp): use FDT.harts() in riscv64 bootstrap_smp
|
7 месяцев назад |
greatbridf
|
80731802bd
fix(ap_start): replace mul with left shifts in riscv64 ap entry
|
7 месяцев назад |
Heinz
|
c264c7ee6c
Merge branch 'master' into riscv64-smp
|
7 месяцев назад |
Heinz
|
792633d3e8
style(hal): remove unused import and unused function
|
7 месяцев назад |
greatbridf
|
34bb98b1f1
feat(syscall): impl get_random and getegid
|
7 месяцев назад |
greatbridf
|
14ca94cd85
change: use the script directly in kernel init
|
7 месяцев назад |
greatbridf
|
61da3f6689
style: remove unused imports
|
7 месяцев назад |
greatbridf
|
56f11a3175
feat(execve): support the shebang scripts
|
7 месяцев назад |
greatbridf
|
de301086a1
style: remove unused imports
|
7 месяцев назад |
Zhuowei Shao
|
f07a81c34a
Merge pull request #33 from greatbridf/fix
|
7 месяцев назад |
greatbridf
|
835a1ef4d2
fix(ext4): use new Instant and get_name methods
|
7 месяцев назад |
greatbridf
|
3219293b2f
Merge pull request #31 from greatbridf/fix-syscall
|
7 месяцев назад |
greatbridf
|
dd114cb94d
Merge pull request #20 from SMS-Derfflinger/ext4-support
|
7 месяцев назад |
greatbridf
|
50f4ea5700
doc(readme): update configure and Makefile usage
|
7 месяцев назад |
greatbridf
|
39b892a434
chore(configure): update the Makefile and configure script to provide testcase image path
|
7 месяцев назад |
greatbridf
|
d9c5949512
change(init_script): check whether the ext4 image exists before mounting the image
|
7 месяцев назад |
greatbridf
|
65b3b66088
change(ext4): rework some part of the ext4 filesystem
|
7 месяцев назад |
greatbridf
|
d1e32f1ba8
style: remove some unused imports and pubs
|
7 месяцев назад |
greatbridf
|
532b88c4c3
Merge pull request #25 from Shao-ZW/robust-list
|
7 месяцев назад |
greatbridf
|
1751a0cb89
Merge branch 'master' into robust-list
|
7 месяцев назад |
greatbridf
|
990e1c6ad8
fix(set_robust_list): postpone the reading of robust_list_head until we exit
|
7 месяцев назад |
greatbridf
|
378a70188a
fix(syscall): newfstat should be called fstat64 for x86 targets
|
7 месяцев назад |
greatbridf
|
a6b8a3c8c3
fix(fat32): validate the cluster no, treating 0, 1 as EOC
|
7 месяцев назад |
greatbridf
|
3026229113
fix(elf): add AT_RANDOM auxiliary vector entry
|
7 месяцев назад |
greatbridf
|
8f42972027
feat(syscall): add newfstat syscall
|
7 месяцев назад |
greatbridf
|
2b85bbc015
fix(brk): return fail if the given break pos is less than current
|
7 месяцев назад |
Heinz
|
03fe491ec6
remove riscv64 cpu's bootstrap function
|
7 месяцев назад |
Heinz
|
2a25dbda3b
feat(hal): improve riscv64 smp, get ap start addr from label
|
7 месяцев назад |
greatbridf
|
7178806d53
feat(syscall): impl renameat
|
7 месяцев назад |
Heinz
|
0359279932
feat(hal): impl smp bootstrap for riscv64
|
7 месяцев назад |
Heinz
|
c0ffa04589
fix(block): improve block's partprobe to register whole disk partition, and sort fdt's device node by start address
|
7 месяцев назад |
greatbridf
|
937e5a47c1
Merge pull request #19 from greatbridf/fix-syscall
|
7 месяцев назад |
zhuowei shao
|
bf6c04837b
feat: implement syscall get_robust_list
|
7 месяцев назад |
Heinz
|
0d98e9bbe6
Merge branch 'master' into ext4-support
|
7 месяцев назад |
Heinz
|
faff005b55
fix(fs): fix ext4 fs in riscv64, It will work normally only when a single ext4 image is mounted.
|
7 месяцев назад |
greatbridf
|
b212bc8ca2
feat(vfs): update {a, m, c}time accordingly when we modify the inodes
|
7 месяцев назад |
greatbridf
|
5fdaaef28e
feat(rtc): implement RTC for riscv64
|
7 месяцев назад |
greatbridf
|
b1fb9dea12
fix(timer): riscv64 should have timer frequency 1000Hz
|
7 месяцев назад |
greatbridf
|
e356f5143b
feat(syscall): impl fcntl::F_{GET, SET}FL
|
7 месяцев назад |
Heinz
|
de242d19af
fix(fs): fix ext4 fs, now x86_64 can read test image normally
|
7 месяцев назад |
greatbridf
|
bdc6dfb5a3
fix(exit): don't panic when we have user access fault on exiting
|
7 месяцев назад |
greatbridf
|
2c152fdca0
fix(execve): return error code instead of panicking when interpreter can't be found
|
7 месяцев назад |
greatbridf
|
d6dcfee4d2
fix(FixEntry): make riscv64 fixup list entry correctly aligned and laid out
|
7 месяцев назад |
greatbridf
|
82260f8ed8
feat: impl several more syscalls, bump linux version to 5.17
|
7 месяцев назад |
greatbridf
|
481948d2cb
Merge pull request #18 from greatbridf/dev-drivers
|
7 месяцев назад |
greatbridf
|
98ac37c635
feat(syscall): impl fch{own, mod}at and utimensat
|
7 месяцев назад |
greatbridf
|
ef950102c0
change(linker): enlarge the RAM size for riscv64 targets to support release mode builds
|
7 месяцев назад |
greatbridf
|
1513e66772
fix(FileArray): release the spinlock before dropping inner files
|
7 месяцев назад |
greatbridf
|
576c43db2d
fix(CoW): check both PRESENT and MAPPED bits when doing cow
|
7 месяцев назад |
greatbridf
|
ca174932df
fix(syscall): `fstatat` should place device number major at bit 8..16
|
7 месяцев назад |
greatbridf
|
42b95ebe83
feat(syscall): impl lseek for riscv64
|
7 месяцев назад |
greatbridf
|
dad0fa00ef
feat(interrupt): add external interrupt support for riscv64
|
7 месяцев назад |
greatbridf
|
9932b08358
change(trap): improve trap handling process
|
7 месяцев назад |
greatbridf
|
6dd58675ae
feat(serial): add serial driver support for riscv64
|
7 месяцев назад |
Heinz
|
77e6bd8f0c
feat(fs): add ext4 fs support based on ext4_rs crate
|
7 месяцев назад |
greatbridf
|
1e9ae1be41
feat(BlockDevice): add write requests for block devices
|
7 месяцев назад |
greatbridf
|
16cb0de6bd
Merge branch 'master' into dev-drivers
|
7 месяцев назад |
greatbridf
|
e5d5464c96
Merge pull request #9 from SMS-Derfflinger/riscv64-support
|
7 месяцев назад |
Heinz
|
f7d4f9d574
style(hal): remove unused import and modify annotation
|
7 месяцев назад |
Heinz
|
e027b453ca
fix(hal): fix riscv enable/disable_irq
|
7 месяцев назад |
Heinz
|
7280c46efb
feat(hal): add timer interrupt enable
|
7 месяцев назад |
greatbridf
|
fae9380b40
feat: add syscall ppoll, fix clock_gettime for riscv64
|
7 месяцев назад |
greatbridf
|
c64b5660fa
fix(x86_64): as_table_attr should return None when encounter non-table page attributes
|
7 месяцев назад |
greatbridf
|
c2eab5d866
feat: impl vdso for all architectures and sigreturn for riscv64
|
7 месяцев назад |
greatbridf
|
ac9a6b2f1f
Merge remote-tracking branch 'upstream/master' into riscv64-support
|
7 месяцев назад |
Heinz
|
8160bbd621
Merge pull request #10 from Shao-ZW/master
|
7 месяцев назад |
greatbridf
|
9f15decb66
change(mm_list): rewrite `protect` with new syntax
|
7 месяцев назад |
greatbridf
|
da6298e357
change(clone): parse clone args at entry point and save them into Option's
|
7 месяцев назад |
greatbridf
|
c9fc06cae9
change(Process): remove `do_kill_process` and use `do_exit` for those use cases
|
7 месяцев назад |
zhuowei shao
|
11304dd3c3
feat: add pthread test
|
7 месяцев назад |
greatbridf
|
485546e8d0
feat: add Stream used for write operations
|
7 месяцев назад |
zhuowei shao
|
5dd3a57da4
feat: implement futex
|
7 месяцев назад |
zhuowei shao
|
b72c76b3f7
fix: fix mmap
|
7 месяцев назад |
zhuowei shao
|
5e3b6ec384
fix: fix exit
|
7 месяцев назад |
zhuowei shao
|
5bcdb8040b
feat: implement clone
|
7 месяцев назад |
zhuowei shao
|
a8df9df74b
fix: fix mprotect
|
7 месяцев назад |
greatbridf
|
4d5acf492a
style: remove unused imports
|
7 месяцев назад |
greatbridf
|
dbd48ae587
chore(build): rework of Makefile to provide better support of multiarch compilation
|
7 месяцев назад |
greatbridf
|
dd1d5927e1
feat: impl openat and argument printing in trace_syscall
|
7 месяцев назад |
greatbridf
|
a0b22bb416
style: remove arch crate
|
7 месяцев назад |
greatbridf
|
353fe877ea
feat: add compilation option for riscv64, fix x86 compile
|
7 месяцев назад |
greatbridf
|
73a10e4727
feat(syscall): impl fstatat
|
7 месяцев назад |
greatbridf
|
1667f0f905
feat(UserBuffer): working user buffer in riscv64 cpus
|
7 месяцев назад |
greatbridf
|
c19e26e0d1
fix(trap): update sp in kernel space traps
|
7 месяцев назад |
greatbridf
|
ec45d646ef
feat: syscall adaption
|
7 месяцев назад |
greatbridf
|
c68b315120
fix: `trap_return` and `captured_trap_handler` should save `from_ctx`
|
7 месяцев назад |
greatbridf
|
963a3b1bb9
Merge remote-tracking branch 'upstream/master' into riscv64-support
|
7 месяцев назад |
greatbridf
|
026229c8cb
Merge remote-tracking branch 'origin/riscv64-support' into riscv64-support
|
7 месяцев назад |
greatbridf
|
942f24e842
Merge pull request #8 from Shao-ZW/master
|
7 месяцев назад |
greatbridf
|
ae9becdc7b
Update script/build-img.sh
|
7 месяцев назад |
greatbridf
|
9cf926f974
fix: intermediate page tables should not set A, D and U bits
|
7 месяцев назад |
greatbridf
|
2d868ba813
partial work: working trap
|
7 месяцев назад |
greatbridf
|
070dcd8779
fix(set_root_page_table): satp::set should take pfn
|
7 месяцев назад |
greatbridf
|
bb2b276c8e
partial work: impl virtio block device and sbi console
|
7 месяцев назад |
greatbridf
|
4351cf5573
partial work: fix riscv64 bootstrap
|
7 месяцев назад |
Heinz
|
38fd7687b8
revert: revert .cargo and user dataflow
|
7 месяцев назад |
Heinz
|
7dd53d9544
delete arch/src/riscv64's old code
|
7 месяцев назад |
greatbridf
|
c1b395f508
feat(timer): add sleep function
|
7 месяцев назад |
Heinz
|
0c6a045342
change link.x.in and disable some function for debug
|
7 месяцев назад |
Heinz
|
cb3a72ca15
fix(arch): fix bad addi instructions, replace by la
|
7 месяцев назад |
Heinz
|
1bd97d4db6
Merge branch 'master' into riscv64-support
|
7 месяцев назад |
Heinz
|
a62b1b1d96
temporarily set dataflow to empty
|
7 месяцев назад |
Heinz
|
56a357bdd0
change hal riscv64 config and fdt implementation
|
7 месяцев назад |
Heinz
|
191877a3ac
feat(hal): impl basic single hart bootstrap for riscv64
|
7 месяцев назад |
Heinz
|
89366051d1
feat(hal): impl trap handler for riscv64
|
7 месяцев назад |
Heinz
|
8b683d90b8
change arch riscv64's some function to nop
|
7 месяцев назад |
Heinz
|
4ea007b2ed
fix(arch): replace mhart read by sbi passed parameter
|
7 месяцев назад |
Heinz
|
8325f02e78
feat(hal): add empty TLS for riscv64
|
7 месяцев назад |
Heinz
|
35d94146e9
feat(hal): impl basic cpu for riscv64
|
7 месяцев назад |
Heinz
|
42998d1d85
feat(hal): impl RawTaskContext for riscv64
|
8 месяцев назад |
Heinz
|
58ef3c435f
feat(hal): impl riscv64's some instructions and clear arch/
|
8 месяцев назад |
Heinz
|
a890455ca4
feat(hal): impl riscv64's fpu
|
8 месяцев назад |
Heinz
|
ef171c4792
feat(hal): impl riscv64's interrupt data structure
|
8 месяцев назад |
zhuowei shao
|
0eac6e12b5
refactor(loader): unify ELF32 and ELF64 loading
|
8 месяцев назад |
Heinz
|
36801071f3
feat(hal): add riscv64's fdt
|
8 месяцев назад |
Heinz
|
bf50c85f90
feat(hal): add riscv64's trap context and some assembly instructions
|
8 месяцев назад |
Heinz
|
601c879103
feat(hal): add riscv64's Sv39 page mode
|
8 месяцев назад |
Heinz
|
384477d57e
feat(hal): add riscv64's linker scrpit
|
8 месяцев назад |
Heinz
|
c0f4799102
feat(hal): impl percpu for riscv64
|
8 месяцев назад |
zhuowei shao
|
1ff75b9e8f
feat(loader): rewrite loader and support dynamic loading
|
8 месяцев назад |
Zhuowei Shao
|
0189d83b46
Merge pull request #7 from greatbridf/makefile
|
8 месяцев назад |
greatbridf
|
ccd06b426d
chore(makefile): add an option to control the kernel features
|
8 месяцев назад |
Heinz
|
c7e982c2bf
Merge branch 'master' into riscv64-support
|
8 месяцев назад |
greatbridf
|
49e32c3462
feat(e1000e): adapt e1000e driver to the new kernel
|
8 месяцев назад |
greatbridf
|
8a5a58271e
feat(AHCI): add AHCI port write command
|
8 месяцев назад |
greatbridf
|
2b8042afc2
Merge pull request #6 from greatbridf/remove-cpp
|
8 месяцев назад |
greatbridf
|
96295d86c9
fix(buddy): erroneous condition check on alloc initialization
|
8 месяцев назад |
greatbridf
|
dd32b93963
feat(hal): smp initialization
|
8 месяцев назад |
Heinz
|
998febde0c
refactor(arch): refactor riscv64's bootstrap, already be tested
|
8 месяцев назад |
Heinz
|
d92ae935f8
change arch riscv64 start stage
|
8 месяцев назад |
greatbridf
|
8672c72a5d
feat(hal): working impl of HAL.
|
8 месяцев назад |
greatbridf
|
fb605cede1
change(arch): move {Task, Trap}Context to HAL crate
|
8 месяцев назад |
Heinz
|
6e2e032016
feat(arch): impl eonix hal trap trait for riscv64
|
8 месяцев назад |
Heinz
|
c33e229a78
Merge branch 'master' into riscv64-support
|
8 месяцев назад |
Heinz
|
bea9c15b7f
feat(arch): impl save restore for FpuRegisters
|
8 месяцев назад |
Heinz
|
477364e5d8
feat(arch): build up trap framework
|
8 месяцев назад |
greatbridf
|
72eb66819c
remove(bindgen): completely move bindgen
|
8 месяцев назад |
greatbridf
|
262b76ad95
remove(bindgen): move all the used constants to `kernel::constants`
|
8 месяцев назад |
greatbridf
|
7ca12b658a
style(arch): add pub to suppress unused warnings
|
8 месяцев назад |
greatbridf
|
02b24cbf0b
change(arch): remove old `InterruptContext`
|
8 месяцев назад |
greatbridf
|
47087f162e
change(c++): remove c++ stl and boot.s
|
8 месяцев назад |
greatbridf
|
1cc6683440
fix(sendfile): `sendfile` returns wrong written byte count
|
8 месяцев назад |
greatbridf
|
24008a54a2
Merge branch 'master' into remove-cpp
|
8 месяцев назад |
greatbridf
|
43016845e4
partial work of making the new trap handling method work
|
8 месяцев назад |
greatbridf
|
f4e68bd903
Merge pull request #5 from Shao-ZW:master
|
8 месяцев назад |
greatbridf
|
862471ca82
style: change visibility of internal raw page fields
|
8 месяцев назад |
greatbridf
|
b8c5c2be51
change(allocator): use Page for huge object allocation
|
8 месяцев назад |
greatbridf
|
400662db4e
style: remove `Clone` constraint in `SlabAllocator`.
|
8 месяцев назад |
Heinz
|
42b4d5c683
fix(arch): fix riscv64 CPU num from fdt parse
|
8 месяцев назад |
Heinz
|
a6e19d87ec
fix(arch): fix riscv64 bootstrap's error caused by page attribute
|
8 месяцев назад |
greatbridf
|
33d30d3413
partial work: make all syscalls use the new interface
|
8 месяцев назад |
Heinz
|
d6506ec044
feat(arch): add fdt parse for riscv64
|
8 месяцев назад |
Heinz
|
9bcd7f8095
change arch riscv64 start stage
|
8 месяцев назад |
Heinz
|
61dd83dec7
Merge branch 'master' into riscv64-support
|
8 месяцев назад |
Heinz
|
56083a0e82
feat(arch): impl CPU data structure for riscv64.
|
8 месяцев назад |
Heinz
|
d0c35b8e01
feat(arch): impl interrupt's data structure
|
8 месяцев назад |
greatbridf
|
87bf20d2cc
partial work: define eonix_hal::default_trap_handler
|
8 месяцев назад |
greatbridf
|
00252343e9
partial work of hal interface
|
8 месяцев назад |
zhuowei shao
|
ef8434b70a
refactor: better slab trait interface
|
8 месяцев назад |
zhuowei shao
|
dd3080f63e
refactor: refactor slab allocator
|
8 месяцев назад |
greatbridf
|
f1f1f6ac24
Merge branch 'trap-abstraction' into remove-cpp
|
8 месяцев назад |
greatbridf
|
eb7d52a441
Merge branch 'master' into remove-cpp
|
8 месяцев назад |
Heinz
|
90af40f15f
Merge pull request #4 from greatbridf/debug-support
|
8 месяцев назад |
greatbridf
|
35f9f1c0d7
chore(ide): add vscode debug script
|
8 месяцев назад |
greatbridf
|
4691d469c5
refactor(pcie): rewrite pcie bus driver in rust
|
8 месяцев назад |
greatbridf
|
35d750f16f
Merge pull request #3 from greatbridf/remove-cpp
|
8 месяцев назад |
greatbridf
|
ba4318f467
chore(build.rs): fix build script generation for Release targets
|
8 месяцев назад |
greatbridf
|
ebd3d1224c
change(x86): optimize bootstrap code, remove kinit.cpp
|
8 месяцев назад |
greatbridf
|
ec187ff5df
feat(spin): separate the procedure of saving lock context from spinlocks
|
8 месяцев назад |
Heinz
|
b5cee82465
feat(arch): add fence for rv64
|
8 месяцев назад |
Heinz
|
adfb1a5244
Merge branch 'master' into riscv64-support
|
8 месяцев назад |
Heinz
|
530df496c2
feat(arch): add console io and mmio io
|
8 месяцев назад |
greatbridf
|
630621a376
Merge pull request #2 from SMS-Derfflinger/master
|
8 месяцев назад |
greatbridf
|
39828e5e2a
style(mm): remove unused imports
|
8 месяцев назад |
greatbridf
|
383393294b
change(mm): add `page_size()` to `PageTableLevel`, some style changes
|
8 месяцев назад |
greatbridf
|
894cfb4efc
Rename new_levels to with_levels
|
8 месяцев назад |
Heinz
|
8e05b3965b
change(mm): replace enum with &[PageTableLevel]
|
8 месяцев назад |
Heinz
|
6e412c736d
change arch riscv64 with mm
|
8 месяцев назад |
Heinz
|
21067db6c5
change(mm): replace enum with &[PageTableLevel]
|
8 месяцев назад |
Heinz
|
b4b8564055
change(mm)
|
8 месяцев назад |
Heinz
|
1fa2d6f94d
refactor(mm): add level choose in kernel iterator
|
8 месяцев назад |
Heinz
|
c42ce68abb
change with mm
|
8 месяцев назад |
Heinz
|
641eb7d8da
change(mm)
|
8 месяцев назад |
Heinz
|
b364127dac
refactor(arch): refactor riscv64's bootstrap
|
8 месяцев назад |
Heinz
|
ab5112942b
refactor(mm): add level choose in kernel iterator
|
8 месяцев назад |
greatbridf
|
dc329bca82
percpu: make a better abstraction for trap handling
|
8 месяцев назад |
Heinz
|
0625f57729
feat(arch): add task context for riscv64
|
8 месяцев назад |
Heinz
|
8e31ffd7d3
refactor(arch): refactor riscv64's mm implementation
|
8 месяцев назад |
Heinz
|
7ef7866d51
Merge branch 'master' into riscv64-support
|
8 месяцев назад |
Heinz
|
c960187e00
feat(arch): add entry for riscv64
|
8 месяцев назад |
greatbridf
|
896553fd7b
Merge branch 'mm-refactor'
|
8 месяцев назад |
greatbridf
|
c488664697
change(pte): new definitions for PTE attributes
|
8 месяцев назад |
greatbridf
|
5dfe746c27
change(buddy): remove `Spin` from buddy allocator
|
8 месяцев назад |
greatbridf
|
cafb8b6bf8
fix(page_alloc): expose global buddy alloc to `mod cpu`
|
8 месяцев назад |
greatbridf
|
676089587c
change(page_alloc): better abstraction
|
8 месяцев назад |
greatbridf
|
b4e2516cbc
mm: remove `take()` from `PTE`
|
8 месяцев назад |
greatbridf
|
87f8f7b5b5
Merge pull request #1 from SMS-Derfflinger/master
|
8 месяцев назад |
Heinz
|
799e7cbf38
refactor(mm): remove anonymous flag
|
8 месяцев назад |
Heinz
|
627958d4a0
feat(arch): impl mm for riscv64
|
8 месяцев назад |
Heinz
|
7e20f8f748
refactor(mm): remove anonymous flag
|
8 месяцев назад |
Heinz
|
4e6869156f
feat(arch): impl mm for riscv64
|
8 месяцев назад |
Heinz
|
6bb8ca94db
Merge branch 'master' into riscv64-support
|
8 месяцев назад |
Heinz
|
5ef1cefcb7
feat: add some riscv64 bootstrap code
|
8 месяцев назад |
greatbridf
|
c2f64394c6
Merge branch 'mm-refactor'
|
8 месяцев назад |
greatbridf
|
dc97e018fa
refactor(mm): new abstraction of page table and etc.
|
8 месяцев назад |
Heinz
|
fb564762d1
refactor: refactor bootstrap file structure
|
8 месяцев назад |
Heinz
|
bdf63e9d28
chore: add make and cmake mutil arch support
|
8 месяцев назад |
Heinz
|
61b031b0a2
chore: add configure mutil arch support
|
8 месяцев назад |
greatbridf
|
2a1aa49688
task: disable preemption in `unpark()`
|
9 месяцев назад |
greatbridf
|
16acfb40f9
signal: separate signal.rs into several files
|
9 месяцев назад |
greatbridf
|
3179e41a7c
wait_list: add `get_waker_function` used in `SignalList::signal_waker`
|
9 месяцев назад |
greatbridf
|
a2ec93f2e3
temporary solution: use `Task::block_on` everywhere
|
9 месяцев назад |
greatbridf
|
c5a6a24ea8
eonix_sync: make sleeping functions `async`
|
9 месяцев назад |
greatbridf
|
b58b00ec34
wait_list: make sure the node is removed before dropping `Prepare`
|
9 месяцев назад |
greatbridf
|
246d1e76d7
page_alloc: disable preemption while accessing PERCPU_PAGES
|
9 месяцев назад |
greatbridf
|
fe2b07f8b5
task: fix park and unpark memory order
|
9 месяцев назад |
greatbridf
|
689a147b35
wait_list: improved waitlist arch
|
9 месяцев назад |
greatbridf
|
c1c82197b2
task: new task state management method
|
10 месяцев назад |
greatbridf
|
05dc79b1b5
percpu: change the definition of `define_percpu_shared`
|
10 месяцев назад |
greatbridf
|
03d2c0d298
percpu: add `percpu_shared`
|
10 месяцев назад |
greatbridf
|
f3c8032637
lazy_lock: add `get_mut` method.
|
10 месяцев назад |
greatbridf
|
5b315d7831
lazy_lock: replace old lazy_static
|
10 месяцев назад |
greatbridf
|
25266c1a21
spin: add doc for `Spin`
|
10 месяцев назад |
greatbridf
|
40e475897c
rwlock: use `try_read_weak` in `read_slow_path`
|
10 месяцев назад |
greatbridf
|
3d55507589
mutex: refactor to get rid of `Lock`
|
10 месяцев назад |
greatbridf
|
d52fc5232b
arcswap: fix the wrong memory order
|
10 месяцев назад |
greatbridf
|
1dc9996b90
rwlock: refactor to get rid of `Lock`
|
10 месяцев назад |
greatbridf
|
df68448e87
rwlock: fix lost wakeup problem
|
10 месяцев назад |
greatbridf
|
360dd9da38
mm_list: remove lock_irq restriction on `MMListInner`
|
10 месяцев назад |
greatbridf
|
147558c1d2
Merge branch 'spin-rework' into sync-extraction
|
10 месяцев назад |
greatbridf
|
3009c12592
spin: rewrite spinlock, add traits for guards
|
10 месяцев назад |
greatbridf
|
525eee2872
rwlock: rename rwsem to rwlock and reimpl the lock
|
10 месяцев назад |
greatbridf
|
fa1c3af64e
preempt: move r_preempt_{disable, enable, count} to eonix_preempt
|
10 месяцев назад |
greatbridf
|
8384960da7
locked: move Locked to enoix_sync
|
10 месяцев назад |
greatbridf
|
a396b8add4
Merge branch 'sched-rewrite' into shiai-master
|
10 месяцев назад |
greatbridf
|
9e65c1c74a
configure: remove the check for mtools
|
10 месяцев назад |
greatbridf
|
779805a7b1
refactor: separate parts into eonix_{log, preempt, sync, runtime} crates
|
10 месяцев назад |
greatbridf
|
b29d448a4f
serial: improve irq handle. add worker support
|
10 месяцев назад |
greatbridf
|
f8ded5c5f2
task: add JoinHandle::join to wait for result
|
10 месяцев назад |
greatbridf
|
ba9a93014f
Merge branch 'sched-rewrite' into shiai-master
|
10 месяцев назад |
greatbridf
|
a24eaa45e1
task: rewrite the task system to decouple better.
|
10 месяцев назад |
greatbridf
|
c6f71ffe15
feat: add percpu readyqueue
|
10 месяцев назад |
greatbridf
|
16b686be83
chore: enable rust std pretty printers
|
10 месяцев назад |
greatbridf
|
d0c3761bb3
fix: compilation error on x86 soft float targets
|
10 месяцев назад |
greatbridf
|
35db57a901
interrupt: check cs == 0x3 instead of ss == 0 in fault handlers
|
10 месяцев назад |
greatbridf
|
67a4bb90ea
feat: skip core and alloc functions in debugger
|
10 месяцев назад |
shao
|
bcb515cacd
chore(build-img): fix Linux mount problem
|
11 месяцев назад |
greatbridf
|
ca2ad4c427
Merge remote-tracking branch 'github/mm' into shiai-master
|
1 год назад |
shao
|
ab64258c5e
feat(pcp): improve per-cpus pages support
|
1 год назад |
greatbridf
|
a3f7ad83a1
Merge remote-tracking branch 'github/mm' into shiai-master
|
1 год назад |
shao
|
4e7bed8818
feat(pcp): add per-cpu pages support
|
1 год назад |
greatbridf
|
6f90bfbd38
Merge branch 'fix' into shiai-master
|
1 год назад |
greatbridf
|
f10251a691
feat: add sys_chmod, remove debug prints
|
1 год назад |
greatbridf
|
ac2cb64f02
feat: blank impl for getrusage and madvise
|
1 год назад |
greatbridf
|
e9ec2880b8
feat: temp. impl for sys_times, update sys_statx
|
1 год назад |
greatbridf
|
ee488bcb18
feat(syscall): temporary impl of getrlimit, vfork and sysinfo
|
1 год назад |
greatbridf
|
eaa6cda7db
style: remove unused warnings
|
1 год назад |
greatbridf
|
f5b4da3309
change(mm_list): separate mm_list from process on elf loading
|
1 год назад |
greatbridf
|
555b383d90
feat(syscall): add sys_pipe2
|
1 год назад |
greatbridf
|
a66b415fd7
feat(syscall): add sys_prlimit64
|
1 год назад |
greatbridf
|
780114025c
clean: remove some redundant types
|
1 год назад |
greatbridf
|
d5421e4f17
feat(fat32): support of long file names
|
1 год назад |
greatbridf
|
c561df82d2
chore: add build-img script for making images
|
1 год назад |
greatbridf
|
63a2aca6fb
feat: add temporary impl for prlimit64
|
1 год назад |
greatbridf
|
255b3636d7
fix(getcwd): do not copy to user directly
|
1 год назад |
greatbridf
|
321fbcac00
fix(ahci): minus 1 from PRDTEntry.len
|
1 год назад |
greatbridf
|
46beec348b
style(block): change idents
|
1 год назад |
greatbridf
|
d400fb8fdc
fix(setpgid): move the process to new pgroup
|
1 год назад |
greatbridf
|
17e60b5661
doc: update origin
|
1 год назад |
greatbridf
|
113ce48d38
doc: rename kernel name
|
1 год назад |
shao
|
833e7f9c75
docs: add doc about memory management and multi-arch support
|
1 год назад |
greatbridf
|
8a40ff8f6f
doc: add more testcases
|
1 год назад |
greatbridf
|
4c21fc6989
doc: update device_driver.md
|
1 год назад |
greatbridf
|
3c76def031
style(block): change idents
|
1 год назад |
greatbridf
|
f7441a1470
doc: add device_driver.md
|
1 год назад |
greatbridf
|
e8b3f94f91
doc: add doc for filesystem
|
1 год назад |
greatbridf
|
92cfd5ccee
doc: add problems and TODO part
|
1 год назад |
greatbridf
|
c2a8b82a50
doc: add task.md
|
1 год назад |
greatbridf
|
42eb4fbb73
chore: remove kvm accel for dists such as ubuntu
|
1 год назад |
greatbridf
|
aabe4b75b7
fix(setpgid): move the process to new pgroup
|
1 год назад |
greatbridf
|
e2c3fbd379
chore: update README.md, add docs
|
1 год назад |
greatbridf
|
afc4956f30
chore: rename project name
|
1 год назад |