summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
4 hourskern/amd64: trap: Copy trapframe on syscall entryHEADmasterdevIan Moffett
Ensure that the trapframe in the PCB is the latest, upon kernel entry we copy it so it isn't stale. Signed-off-by: Ian Moffett <ian@osmora.org>
5 hourskern: proc: Fix commentIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
5 hourscmd: init: Bring up login program on startupIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
5 hourskern/amd64: mp: Add idle threads per coreIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
6 hourskern/amd64: i8042: Add option to poll keyboardIan Moffett
Some hardware may not work too well with the i8042 and interrupts, as a mitigation, we've added an option to poll instead of using interrupts Signed-off-by: Ian Moffett <ian@osmora.org>
6 hourskern/amd64: proc: Don't dequeue procs in idle loopIan Moffett
There is no need to dequeue any processes in the idle loop as this happens once per timer interrupt Signed-off-by: Ian Moffett <ian@osmora.org>
6 hourskern: init: Initialize scheduler before modulesIan Moffett
Some modules may rely on kernel threads, therefore we'll need the scheduler up before we start them Signed-off-by: Ian Moffett <ian@osmora.org>
6 hourskern/amd64: proc: md_proc_yield -> md_proc_idleIan Moffett
Improve naming to be less confusing Signed-off-by: Ian Moffett <ian@osmora.org>
7 hourskern/amd64: Introduce kernel threadsIan Moffett
Introduces kernel threads. by using the proc_ktd() function, one can spawn a CPL 0 running thread to the desired code. Signed-off-by: Ian Moffett <ian@osmora.org>
11 hoursbuild: Move 'login' to system binariesIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
11 hourscmd: Add initial 'login' programIan Moffett
This commit introduces the initial login program to require a user to enter their credentials before they can use the system Signed-off-by: Ian Moffett <ian@osmora.org>
12 hoursdata: Add initial user credsIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
12 hourslibc: stdio: Add puts() functionIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
12 hourslibc: string: Add memcmp() functionIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
12 hourslibc: unistd: Add close system call interfaceIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
12 hourskern: filedesc: Add close() system callIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
12 hourskern: vfs: Add reclaim callback to vnodeIan Moffett
The reclaim callback simply reclaims any filesystem specific resources used with vnodes back to the operating system. Signed-off-by: Ian Moffett <ian@osmora.org>
13 hourskern: omar: Make OMAR reads offset awareIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
13 hourskern: vfs: Make vnode r/w operations offset awareIan Moffett
Adds offset handling to the vnode read and write callbacks. Signed-off-by: Ian Moffett <ian@osmora.org>
13 hourslibc: unistd: Add read system call interfaceIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
13 hourskern: Add SYS_read system call for file I/OIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
14 hourskern: omar: Implement VFS read vopIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
14 hourskern: namei: Return vnode before exiting functionIan Moffett
If there is a file that is found, we want to return the result before we return from the function, fixes issue with uninitialized vnodes on lookups Signed-off-by: Ian Moffett <ian@osmora.org>
14 hourskern: namei: Return -NOENT at function endIan Moffett
If we go through the entire function without getting a vnode, then there is no file to be found Signed-off-by: Ian Moffett <ian@osmora.org>
14 hourskern: vfs: Add vnode operation for readsIan Moffett
Introduces a read callback wrapper implementation for vnodes to simplify file reading Signed-off-by: Ian Moffett <ian@osmora.org>
14 hourskern: omar: Set vnode ops per looked up nodeIan Moffett
Everytime a look up is performed, we should set the vnode operations on the resulting vnode Signed-off-by: Ian Moffett <ian@osmora.org>
14 hourskern: filedesc: Don't stop searching without fdIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
14 hourskern: filedesc: Remove outdated commentIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
14 hourskern: vfs: Add NULL check for write vopIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
29 hourscmd: Add 'lsdisk' utilityIan Moffett
The 'lsdisk' utility is a simple too to list the disks present on the machine. Signed-off-by: Ian Moffett <ian@osmora.org>
29 hourskern: dms: Add DMS QUERY opcode for devinfoIan Moffett
Add a new QUERY operation code that is used to fetch information about a specific disk. Signed-off-by: Ian Moffett <ian@osmora.org>
29 hourslibc: Add DMS I/O syscall interfaceIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
29 hourskern: dms: Add initial DMS engine sourcesIan Moffett
The DMS engine handles performing I/O based on specific opcodes given to it and drives the callback wrappers. Signed-off-by: Ian Moffett <ian@osmora.org>
30 hourskern: ahci: Implement DMS read interfaceIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
30 hourskern: dms: Make DMS block size awareIan Moffett
In order to safely copy between disk and host memory through a programming interface, DMS must be aware of the hardware disk block size Signed-off-by: Ian Moffett <ian@osmora.org>
30 hourskern: ahci: Don't hardcode block sizesIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
31 hourskern: ahci: Register SATA drives to DMSIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
31 hourskern: Add initial DMS frameworkIan Moffett
DMS stands for Disk Management and Supervision, drivers can register themselves to DMS so that they can be looked up and operated on. Signed-off-by: Ian Moffett <ian@osmora.org>
31 hourskern: ahci: Correct buffer order during ahci r/wIan Moffett
Move to the buffer given to us if there it is a read, move from the buffer given to us if it is a write Signed-off-by: Ian Moffett <ian@osmora.org>
34 hourskern: ahci: Implement r/w of SATA drivesIan Moffett
Introduces reading and writing of SATA drives via a bufargs structure to describe the buffer as well as its attributes Signed-off-by: Ian Moffett <ian@osmora.org>
35 hourslibc: Add __libc_init as well as cmdline argumentsIan Moffett
This commit introduces a libc initialization function @ __libc_init() a long with variables __argv __argc used for command line arguments Signed-off-by: Ian Moffett <ian@osmora.org>
35 hourskern: proc: Check argc after checking envblkIan Moffett
Fixes a crash with using this syscall Signed-off-by: Ian Moffett <ian@osmora.org>
40 hourscmd: hush: Ignore input if buffer is emptyIan Moffett
Do not try to test the input against anything if there is no input to test against. Signed-off-by: Ian Moffett <ian@osmora.org>
2 dayskern: ahci: Add cmdslot allocation + identifyIan Moffett
Implements command slot allocation, command submission and the ATA identify command Signed-off-by: Ian Moffett <ian@osmora.org>
2 dayskern: ahci: Allocate raw physical memoryIan Moffett
No need to overcomplicate things for now, just use a simple vm_alloc_frame() for DMA allocations Signed-off-by: Ian Moffett <ian@osmora.org>
2 dayskern: proc: Add NULL check for envblkIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2 dayskern: os: Remove extra newlineIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2 dayskern/amd64: Init LAPIC before PCI bus driverIan Moffett
A lot of PCI(e) devices rely in MSI-X which pokes the Local APIC via MMIO, we'll want the LAPIC up before PCI(e) Signed-off-by: Ian Moffett <ian@osmora.org>
2 dayscmd: Add initial 'fetch' commandIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2 dayscmd: hush: Wait for commands to finishIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>