Commit Graph

235 Commits

Author SHA1 Message Date
Jeremy Soller 643e1f6552 Merge pull request #6 from CWood1/rtc-century
Implemented reading from RTC Century counter in x86_64 arch, if available
2017-03-19 07:29:30 -06:00
Connor Wood f79424aeac Fully implemented reading the RTC century counter, and laid out initial infrastructure for ACPI information to be used across the kernel, in the x86_64 architecture.
- Implemented a global variable, ACPI_TABLE, behind a mutex, which contains the ACPI information pertinent to the rest of the kernel, currently solely containing a pointer to the FADT.
- Split device initialization into two categories - "core" devices, such as the PIC and local APIC, necessary for initializing the rest of the kernel, and "non-core" devices such as serial and RTC, which are to be initialized last.
- Checked for the presence of the century register, and consequentially read from, in the RTC code, now factored into the date calculation. The location of the register is pulled from the "century" field in the FADT.
- Modified page unmapping in the ACPI code, such that any tables to be stored globally (currently only the FADT) are not unmapped after reading, such that they can be stored in globally accessible pointers without causing page faults.
2017-03-18 16:08:45 +00:00
Connor Wood 661ebb6390 Saved FADT in a pointer accessible elsewhere in the kernel 2017-03-18 15:12:42 +00:00
Jeremy Soller 1d5c7d6a4e Merge branch 'master' of https://github.com/redox-os/kernel 2017-03-16 22:50:16 -06:00
Jeremy Soller 05bb497fe4 Use normal EOI mode 2017-03-16 22:50:09 -06:00
Jeremy Soller ab4193d4fc Merge pull request #5 from tones111/cpuid_panic
Prevent cpuid get_extended_function_info panic
2017-03-16 22:15:02 -06:00
Paul Sbarra d667fa61e6 Prevent cpuid get_extended_function_info panic
A kernel panic occurs on some CPUs (notably qemu-system-x86_64) when
calling rust-cpuid's get_extended_function_info.  This is fixed upstream
in commit c3ebfc553cdff98d19d29777fd85c4f9182bfb66 but has yet to make
it crates.io.

The panic can by triggered by running "ls sys:" from ion and causes
redox to become unresponsive.
2017-03-16 22:32:57 -05:00
Jeremy Soller 7dd8de777d Merge pull request #3 from kolipka/standalone_support
Remove hardcoded initfs folder
2017-02-27 11:18:03 -07:00
Konrad Lipner 5ccbd788f3 Remove hardcoded initfs folder
initfs folder should be specified in INITFS_FOLDER environment variable
As a result kernel module can be compiled on it's own.
2017-02-15 21:54:38 +01:00
Jeremy Soller b9793deb59 Disable secondary processors with hlt 2017-02-13 22:15:42 -07:00
Jeremy Soller 473a7b6832 USe auto-eoi mode, mask off interrupts that happen and allow userspace to clear the mask 2017-02-11 21:09:16 -07:00
Jeremy Soller 0e22ba24be Initialize PIC in Rust 2017-02-11 20:54:14 -07:00
Jeremy Soller 571b2aa2e7 Add reminder 2017-02-07 22:14:53 -07:00
Jeremy Soller 776bb83a70 Unstick system by acknowledging IRQs on boot 2017-02-07 22:14:28 -07:00
Jeremy Soller be43673df6 Merge pull request #2 from little-dude/master
remove unused #[macro_use]
2017-01-24 12:48:08 -07:00
Corentin Henry 4d2499e4d3 remove unused #[macro_use] 2017-01-24 11:14:12 -08:00
Jeremy Soller 0d3aa234ff Add target definitions 2017-01-16 10:10:16 -07:00
Jeremy Soller 04d9d6b40a Specify crates.io versions 2017-01-13 15:09:56 -07:00
Jeremy Soller 35c2297724 Fix from @yoric - incorrect initialization of spin loop 2017-01-11 13:59:10 -07:00
Jeremy Soller ed69fac232 Allow memory: to be accessed in all namespaces 2017-01-10 09:59:30 -07:00
Jeremy Soller ba4588e84f Simplify path parsing 2017-01-10 09:22:59 -07:00
Jeremy Soller 433746e13c Move skipping to loop encompasing entire path 2017-01-10 09:19:02 -07:00
Jeremy Soller e20135575c Refactor to move alloc_kernel in tree, and move io into syscall 2017-01-09 20:35:54 -07:00
Jeremy Soller 1c7b5680a4 Use syscall crate from git 2017-01-09 19:47:44 -07:00
Jeremy Soller 375e8addd2 Merge pull request #1 from cactorium/master
Allow for more complicated directory paths
2017-01-07 07:37:10 -07:00
Kelvin Ly b0cafc1890 Correctly handle relative paths starting from the root directory 2017-01-07 08:00:16 -05:00
Kelvin Ly 046d8ac0c5 Fix typo and add functionality to more properly handle the parent of the root of the filesystem 2017-01-07 00:49:45 -05:00
Kelvin Ly fc94bd411a Allow for more complicated directory paths 2017-01-07 00:41:32 -05:00
Jeremy Soller 06118a23dd Remove profiles 2017-01-04 16:33:51 -07:00
Jeremy Soller 882e64bdb9 Ignore Cargo.lock and target 2017-01-04 15:52:38 -07:00
Jeremy Soller 0c8ba636f4 Cleanup Redox repo, update Rust, remove old target 2017-01-03 15:55:00 -07:00
Jeremy Soller 04ed700216 Force flush of tables 2017-01-03 14:09:15 -07:00
Jeremy Soller 2cb8b1fd53 Use variable for temporary page location 2017-01-01 18:00:24 -07:00
Jeremy Soller 5ddd2ca458 Update coreutils, remove sys:memory 2016-12-28 17:22:10 -07:00
Jeremy Soller aebe7152ce Add memory scheme to live configuration 2016-12-28 12:42:54 -07:00
Jeremy Soller eb3f76f204 Add memory scheme, implement fstatvfs 2016-12-28 11:38:42 -07:00
Jeremy Soller 164648c200 Compile using real libstd, with no crate overrides 2016-12-27 16:47:08 -07:00
Jeremy Soller 515aa3671b Implement dup2. Add debugging lines. 2016-12-27 11:18:41 -07:00
Jeremy Soller 6c308ada46 Workaround for an issue where a leftover grant is not unmapped before reap 2016-12-13 20:41:43 -07:00
Jeremy Soller 4b5271b52b Remove debug message 2016-12-06 15:27:49 -07:00
Jeremy Soller a46a68b5c7 Use isohybrid to generate a USB stick friendly ISO
Add assertions to verify that grants are unmapped
Fix grant unmapping in exec and exit, thus fixing some crashes without network cards
2016-12-06 14:47:05 -07:00
Jeremy Soller 528ce22617 More path cleanup 2016-11-29 18:15:53 -07:00
Jeremy Soller ddac22a242 Cleanup path usage 2016-11-29 18:14:10 -07:00
Jeremy Soller cc9fd700cf Update to make libstd use redox_syscall 2016-11-28 18:14:21 -07:00
Jeremy Soller 2b302bd6ea Implement O_DIRECTORY, switch to open for mkdir 2016-11-25 18:24:38 -07:00
Jeremy Soller bbe2dd0ff4 Implement rfc 4 2016-11-25 12:09:54 -07:00
Jeremy Soller 5ef013eecf Fix warnings, increase size of fs 2016-11-19 20:23:25 -07:00
Jeremy Soller b17444e3ce Allow compiling both livedisk and harddrive 2016-11-19 20:19:41 -07:00
Jeremy Soller 6b084d3ff5 Allow initfs to be written 2016-11-18 08:46:11 -07:00
Jeremy Soller 71fbf2e8f4 Add statvfs 2016-11-18 08:44:03 -07:00