LoremKang
702ea47ae8
fix the deadlock bug. semaphores now work well without SEM_UNDO.
2019-10-22 16:15:03 +08:00
LoremKang
e6b4c77c05
solve a potential unwrap error. deadlock when child lock first.
2019-10-22 14:58:48 +08:00
LoremKang
a180c3b4bb
solve the deadlock problem & sometimes pass test.
2019-10-22 14:30:23 +08:00
LoremKang
198717c071
try to solve the deadlock problem caused by locking SemArray while waiting for Semaphores.
2019-10-22 13:48:17 +08:00
LoremKang
d4d57a5095
finish semctl.setval. pass compilation.
2019-10-21 15:33:40 +08:00
HongboKang
c241ec1f5b
finish semget & semop. write a small test on semget.
2019-10-21 14:55:17 +08:00
HongboKang
64cdfa277f
pass compilation with semget and part of semop.
2019-10-18 02:16:32 +08:00
HongboKang
374c34cd34
write code for semget and semop. not compiled yet.
2019-10-14 23:30:20 +08:00
Bran
3caa091ec5
solve forktest problem, release zombie process when parent process exits. ( #21 )
2019-10-14 01:36:48 +08:00
Runji Wang
b11e1b9be1
update user submodule and thread crate
...
fix some bugs in ucore programs found at OSTrain2019
2019-10-06 13:47:55 +08:00
equation314
44f1c8e8c3
aarch64: Add some comments for SMP booting
2019-10-05 15:45:32 +08:00
equation314
3069e17d78
Remove unnecessary lazy_static
2019-10-05 13:02:43 +08:00
equation314
9f6cb5966d
Fix typo
2019-10-05 13:00:47 +08:00
equation314
6a7c72dbde
aarch64: add mutex for KERNEL_MEMORY_SET, update bcm2837
2019-10-05 00:11:50 +08:00
equation314
90c2cd28f8
aarch64: use new cache & TLB maintenance operations
2019-10-04 23:25:42 +08:00
equation314
acd7ee945a
Flush I/D cache after copying user code in page fault handler
...
* Now SMP works in real machine with no bugs!!!
2019-10-04 14:05:20 +08:00
equation314
444ce34859
aarch64: SMP works in real machine, but still have bugs
2019-10-03 21:04:22 +08:00
equation314
344ff85a21
Pass the environment variable SMP
to consts::SMP_CORES
2019-09-29 15:36:43 +08:00
equation314
fee3e87110
aarch64: SMP works in qemu!!!
2019-09-28 23:39:09 +08:00
equation314
c6a4792f13
aarch64: update crate bcm2837 to use local timer
2019-09-28 01:30:29 +08:00
Yuekai Jia
c99266c013
Merge branch 'master' into dev
2019-09-26 11:29:39 +08:00
equation314
f76208542b
aarch64: add map_kernel() function
...
* create fine-grained mappings in memory::init()
* put physical memory mappings to 0xFFFF_8000_0000_0000
* reuse ioremap() for framebuffer memory
2019-09-26 02:25:02 +08:00
equation314
48d7fb091a
aarch64: no longer use bootloader, enable paging in entry.S
2019-09-24 20:12:28 +08:00
Runji Wang
3beddf12da
build: remove filling symbols. prepare command 'make test'.
2019-09-24 14:26:18 +08:00
Runji Wang
2722371d86
mips: fix build
2019-09-24 01:49:08 +08:00
Runji Wang
8dac3f107f
travis: remove GCC toolchain, download prebuilt user image from github release
2019-09-24 01:49:08 +08:00
equation314
233ccdd914
Fix fnctl nonblock check
...
musl will add extra flags when set `arg` to `O_NONBLOCK` for non-x86 architecture
2019-09-23 22:16:20 +08:00
fengyuan
0639affc55
error exit will return to shell
2019-09-18 23:38:46 +08:00
Runji Wang
5a2f1d5be0
x86_64: use ACPI address from bootloader
2019-09-14 00:27:39 +08:00
Runji Wang
a07822a446
x86_64: fix for real hardware. remove legacy drivers.
2019-09-13 23:00:00 +08:00
Runji Wang
590df849f3
update Rust toolchain and README
...
NOTE: MIPS is broken due to a Rust compiler bug
2019-09-11 23:58:52 +08:00
Runji Wang
50d833e420
refactor fb & console mod structure
...
- move both modules to crate::drivers
- no longer need `probe_fb_info` for each board
2019-09-11 23:58:52 +08:00
Jiajie Chen
0778f8f84c
Bump rcore-console version, fixing mipsel compilation
2019-09-11 23:48:10 +08:00
Runji Wang
c2a80c54f9
x86_64: switch from legacy BIOS to UEFI. use rboot as new bootloader
...
- remove dependencies: rust-osdev/{bootloader, bootimage}
- remove kernel stack segment
- find a bug: IDT should be initialized after GDT
2019-09-04 10:37:31 +08:00
Runji Wang
977c0badcb
remove 'runui' makefile command
2019-09-03 12:15:33 +08:00
equation314
d65aba8470
Update FramebufferInfo
2019-09-03 00:27:23 +08:00
equation314
22f5cf93fd
aarch64: map framebuffer & set mem attr in bootloader
2019-09-02 21:46:41 +08:00
equation314
2237d2e5bd
aarch64: pass bootinfo from bootloader to kernel
2019-08-30 18:22:28 +08:00
equation314
fa30f5f96b
aarch64: fix bus address for mailbox property
2019-08-28 21:38:50 +08:00
equation314
d56a88947e
aarch64: set ttbr0_el1 to null for kernel thread, fixed #56
2019-08-28 01:41:47 +08:00
Jiajie Chen
55cfce6c02
Show target in logging, and fix console deadlock
2019-08-23 10:44:24 +08:00
Runji Wang
c881bdc65d
move Console to extern crate
...
also remove x86_64 VGA text mode support
2019-08-16 11:11:49 +08:00
Jiajie Chen
100f3b9525
Implement /dev/{u,}random
2019-08-07 19:22:14 +08:00
Jiajie Chen
655c1f19c2
Move impl_inode default impl to rcore-fs crate
2019-08-07 18:55:35 +08:00
Jiajie Chen
92d878c144
Correctly report rdev of device nodes
2019-08-05 18:20:17 +08:00
Jiajie Chen
287e48adde
Only create /dev /tmp directories when they do not exist
2019-08-05 18:01:45 +08:00
WangRunji
78b322e842
update crates
2019-08-02 17:34:55 +08:00
WangRunji
52d72790bc
introduce MountFS, mount RamFS at /tmp, mount DevFS at /dev
2019-08-02 17:24:27 +08:00
WangRunji
2db599ab40
fix deprecated warnings
2019-07-24 22:43:15 +08:00
WangRunji
f132e61c98
simplify including DTB file using include_bytes!()
2019-07-24 22:41:26 +08:00
Jiajie Chen
08b59be1ae
Use updated ACPI crate to parse ACPI in x86
2019-07-17 09:43:49 +08:00
Jiajie Chen
0b0e364fcd
Use Option to replace usage of MaybeUninit in paging
2019-07-05 10:53:26 +08:00
Jiajie Chen
de6d5b6d54
Fix rv32 page table panic
2019-06-30 16:54:18 +08:00
Jiajie Chen
7a2383eba6
Fix unused unsafe for mipsel and riscv32
2019-06-30 16:26:54 +08:00
Jiajie Chen
5dc74c60d2
Use ..= instead of ...
2019-06-30 15:54:33 +08:00
Jiajie Chen
5f9cbc7b2c
Eliminate stable feature and unused unsafe warnings
2019-06-30 15:50:43 +08:00
Jiajie Chen
96357e63df
Bump rust version to newer nightly and use acpi crate to print acpi info
2019-06-30 03:41:50 +08:00
Jiajie Chen
087e18b202
Implement reboot in sys_reboot
2019-06-30 01:33:07 +08:00
Jiajie Chen
e77e09a949
Use IRQ_MANAGER in drivers
2019-06-30 01:11:40 +08:00
Jiajie Chen
dec07da035
Add irq manager for drivers
2019-06-29 21:19:45 +08:00
Jiajie Chen
ffe4fae975
Fix ahci driver and match ahci driver by SATA class
2019-06-28 17:01:31 +08:00
Jiajie Chen
4607e0646d
Fix vga in vmware
2019-06-27 11:28:03 +08:00
Jiajie Chen
a285b242e9
Fix compilation for mipsel
2019-06-16 22:02:25 +08:00
Jiajie Chen
7cfa6a1ee4
Make emmc less verbose
2019-06-16 09:48:50 +08:00
Jiajie Chen
26e06c5cf4
Fix rv paging abort issue
2019-06-16 09:19:38 +08:00
Jiajie Chen
f09dc0cce0
Fix compilation for riscv
2019-06-16 00:42:04 +08:00
Jiajie Chen
07b75b0a74
Fix fill_symbols aarch64 on macOS
2019-06-16 00:11:25 +08:00
Jiajie Chen
164e94a146
Separate SFSIMG and SFSQCOW2 and fix aarch64 qemu boot
2019-06-16 00:03:32 +08:00
Jiajie Chen
81c77586c6
Adapt fill_symbols for macOS
2019-06-15 23:43:01 +08:00
Jiajie Chen
611c2dd5bf
Align vm area to page boundary and fix musl's reclaim()
2019-06-15 22:26:28 +08:00
gjz010
da8699c44e
Merge branch 'dev' into shared-library
2019-06-09 19:32:00 +08:00
gjz010
7ad8c6a6d2
Shared library done in a formal way (using auxv). Now kernel loads both loader and program.
...
Known issues: not compatible with musl's reclaim_gaps (crash on __malloc_donate). Removing reclaim makes hello world work.
2019-06-09 19:25:43 +08:00
Jiajie Chen
5ecdb4e656
Change release to mode in Makefile
2019-06-08 22:36:41 +08:00
gjz010
7b8252eb1b
Basic loadable kernel module support, with a module template written in Rust.
...
Under aarch64 and x86_64, hello_rust can be built and loaded by `/busybox insmod hello_rust.ko`.
2019-06-07 20:59:51 +08:00
gjz010
da028c1f10
Added virtual memory support for aarch64 and x86_64.
...
1. Memory mapping at KSEG2_START(0xffff_fe80_0000_0000) will now be visible to all processes.
This feature is required by Loadable Kernel Module when mapping kernel module into memory.
2. Wrapping PageTableImpl::active() into ManuallyDrop, so that no extra "mem::forget" is required.
3. Added PageTableImpl::kernel_table(). This function is the same as active() on x86_64, but not the same on aarch64.
2019-06-07 15:57:18 +08:00
Jiajie Chen
8e5e798d78
Do not print to graphci console unless graphic=console on aarch64
2019-06-03 09:47:57 +08:00
Jiajie Chen
d8ea224283
Fix mgba merge
2019-06-03 09:46:27 +08:00
Jiajie Chen
a42d4b4d26
Merge branch 'mgba' into dev
2019-06-03 09:44:28 +08:00
Jiajie Chen
c8b0014c5f
Remove u-boot support
2019-06-03 09:36:01 +08:00
Jiajie Chen
8b06314828
Format code and update debug code
2019-06-03 09:33:02 +08:00
Jiajie Chen
33513ded94
Merge remote-tracking branch 'sdcard/geminilab' into sdcard
2019-06-03 09:27:21 +08:00
NagiNikaido
730f5d94a6
write() check passed. a minor bug fixed.
2019-05-30 17:06:13 +08:00
NagiNikaido
e20a2ca8e2
Now we can parse the partion entries. Yeeeeaaahh!
2019-05-30 14:57:20 +08:00
NagiNikaido
a3f8601d18
HUGE SUCCESS! Now we can fetch the first section of an SD card.
...
the bug of SCR fixed.
2019-05-30 01:49:44 +08:00
BenjaminPMLovegood
cb682392f4
add emmc option for qemu
2019-05-29 18:38:59 +08:00
NagiNikaido
6a00cf602b
tons of bugs fixed. moved sd_get_base_clock_hz() to mailbox
2019-05-29 18:32:43 +08:00
NagiNikaido
4b543a189f
debug info added.
2019-05-27 18:39:20 +08:00
NagiNikaido
3535faccd9
Merge branch 'dev' of https://github.com/rcore-os/rCore into rcore-os-dev
2019-05-27 16:34:29 +08:00
PanQL
e8c38d748f
Merge pull request #54 from rcore-os/dev
...
Fix check_and_clone_cstr null check
2019-05-25 22:14:41 +08:00
PanQL
376ca53f3a
Merge branch 'mgba' into dev
2019-05-25 21:21:02 +08:00
PanQL
7df015842d
some about ioctl fb info
2019-05-25 21:08:43 +08:00
Yuhao Zhou
a708ee401d
Fix syscall in thinpad.
2019-05-25 20:05:27 +08:00
Yuhao Zhou
2b96462da3
Fix malta const.
2019-05-25 18:04:54 +08:00
BenjaminPMLovegood
d2f583a948
wrap init
2019-05-25 17:57:02 +08:00
Yuhao Zhou
65b121e55e
Merge remote-tracking branch 'origin/dev'
2019-05-25 14:51:45 +08:00
Yuhao Zhou
0938a0cb58
Update malta consts.
2019-05-25 14:33:52 +08:00
BenjaminPMLovegood
335f4701eb
modified
2019-05-25 14:28:55 +08:00
Jiajie Chen
35e909d96b
Fix check_and_clone_cstr null check
2019-05-25 13:51:21 +08:00
Jiajie Chen
cd49ee5093
Fix x86_64 fb depth
2019-05-25 11:39:42 +08:00
Jiajie Chen
235005608d
Do not hardcode fb addr in Vga
2019-05-25 08:29:54 +08:00