Age | Commit message (Collapse) | Author | |
---|---|---|---|
2014-02-08 | aux/vga: fix format string error with 6c | cinap_lenrek | |
2014-02-08 | pc64: bump segment limit to 64GB | cinap_lenrek | |
2014-02-07 | pc64: dont reuse mtrr slots that are above 4GB | cinap_lenrek | |
we used to override/reuse mtrr slots over 4GB as the kernel wasnt able to use that memory. pc64 can. | |||
2014-02-06 | pc64: ensure user pc is never set to a non-canonical address through ↵ | mischief | |
setregisters on intel processors, a general protection exception is fired if a non-canonical address is loaded into PC during SYSRET. this will cause the kernel to panic. see http://www.kb.cert.org/vuls/id/649219 and the intel software developer manual for more information. | |||
2014-02-07 | pc64: fix devcons format strings for memory sizes | cinap_lenrek | |
2014-02-07 | cwfs: limit memsize() to 1GB until pool can handle huge allocations | cinap_lenrek | |
2014-02-07 | pc64: fix poolsummary() string format | cinap_lenrek | |
2014-02-06 | pool: use uintptr for pool size | cinap_lenrek | |
note, arenas and blocks still use ulong for sizes. so we have to check for overflow when attempting to merge arenas. | |||
2014-02-06 | pc64: fix note handling | cinap_lenrek | |
2014-02-06 | pc64: fix kmap() | cinap_lenrek | |
kmapindex has to be per process, not per mach, as the process can be switched to another processor while the mapping is established. to bootstrap the first process, we have to temporarily set up so the kmap MMU's can be attached to the process. previously we assumed that the first two pages for the initial process where below 2GB and could be accessed with KADDR() directly. with 16GB machine, all the 2GB above KZERO are dedicated to the kernel so the user pages returned by newpage() need to be mapped. | |||
2014-02-05 | have to use NULL instead of nil for ape programs... | cinap_lenrek | |
2014-02-05 | pc64: dont 4 byte align stack pointer for amd64 in sysexec() | cinap_lenrek | |
2014-02-05 | fix wrong type for terminating nil argument for execl() | cinap_lenrek | |
we have to use (void*)0 instead of (int)0 otherwise the upper bits are uninitialized on amd64. | |||
2014-02-04 | libpanel: remove pointless pointer casts | mischief | |
2014-02-05 | merge | cinap_lenrek | |
2014-02-05 | mothra: better handling of malformed search regex | cinap_lenrek | |
2014-02-04 | libpanel: fix pointer casts and format strings | mischief | |
2014-02-05 | mothra: dont panic on invalid regular expression in searchbox | cinap_lenrek | |
2014-02-03 | /lib/face/48x48x4/.dict: fix typos | stanley lieber | |
2014-02-03 | pc64: fix up pointer calculations and enable sdvirtio disk driver | mischief | |
2014-02-04 | pc64: remove cinaps cga screen interrupt debugger, was experiment... | cinap_lenrek | |
2014-02-04 | pc64: dont dump user registers on exception, was experiment... | cinap_lenrek | |
2014-02-04 | hjfs: fix wrong channel size for syncb (fixes amd64 crash) | cinap_lenrek | |
2014-02-04 | doom: port to amd64 | cinap_lenrek | |
2014-02-03 | realemu: cleanup opidiv | cinap_lenrek | |
no need for switch here, just calculate the values. also fixes 6l warning about uninitialized min/max (compiler assumes none of the case statements could match). | |||
2014-02-03 | libmach: change mach pgsize back from 4K to 2MB for amd64 | cinap_lenrek | |
the Mach page size is used to calculate segment alignment. its not the real effective page size used by the kernel. this fixes acid. | |||
2014-02-03 | ipmux: fix 6c complaints | cinap_lenrek | |
2014-02-03 | merge | cinap_lenrek | |
2014-02-03 | kernel: dont double ptemap size in newseg() | cinap_lenrek | |
this doubling affects all segment types, not just bss. (tho text/data are usually small...) and theres no telling if the segment will actually grow in the future justifying the reduction of memmove overhead in ibrk(). some ape programs are approaching the 16mb ssegmap size so that code might trigger. removing the smarts... | |||
2014-02-03 | pc/pc64: move common code to pc/devarch.c | cinap_lenrek | |
2014-02-03 | pc64: implement shutdown and idlehands | cinap_lenrek | |
just copies from pc kernel. should refactor into common pc code. | |||
2014-02-02 | merge | mischief | |
2014-02-02 | pc64: enable sdide driver | mischief | |
2014-02-02 | acid: fix memory leak in fundefs (from 9atom) | mischief | |
2014-02-03 | libdraw: fix typo: 0xfffff -> 0xffff | cinap_lenrek | |
2014-02-03 | libdraw: work arround devdraw truncating screenid as 16bit | cinap_lenrek | |
2014-02-03 | devdraw: screenid is BGLONG, not BGSHORT | cinap_lenrek | |
2014-02-02 | pc64: track per process kmap page tables in separate MMU list. | cinap_lenrek | |
we have to keep kmap page tables in ther own list because user tables are subject to (virtual) tlb flushing. we never free kmap page tables except in mmurelease() where we just link the kmap mmu list in front of the user mmus and call mmufree() which will free all the mmu's of the process. | |||
2014-02-02 | malloctag: only store lower 32bit of malloc tag, fix getrealloctag | cinap_lenrek | |
as erik quanstro suggests, theres not much of a point in storing the full 64bit pc as one cannot get a code segment bigger than 4G and amd64 makes it hard to use a pc that isnt 64bit sign extension of 32bit. instead, we only store ulong (as originally), but sign extend back when returning in getmalloctag() and getrealloctag(). getrealloctag() used to be broken. its now fixed. | |||
2014-02-02 | kernel: fix bogus free in sysexec. | cinap_lenrek | |
we free the wrong pointer in the waserror() block. | |||
2014-02-02 | newuser: dont bark when we cannot bind $home/bin/$objtype after /bin, create ↵ | cinap_lenrek | |
$home/bin/amd64 | |||
2014-02-02 | kernel: do not pass user address of fd[2] array to newfd2() | cinap_lenrek | |
access to user memory can pagefault and newfd2() holds fgrp spinlock while writing to it. make temporary copy on the stack in syspipe(). | |||
2014-02-02 | kernel: use uintptr when appropriate in syssegflush() | cinap_lenrek | |
2014-02-02 | pc64: dont dump registers for user process on pagefault error, was experiment | cinap_lenrek | |
2014-02-02 | pc64: no need to flush tlb in kunmap(), was experiment | cinap_lenrek | |
2014-02-02 | add acid library for amd64 | cinap_lenrek | |
2014-02-02 | pc64: fix mmu structure leakage, implement global pool | cinap_lenrek | |
2014-02-02 | pc64: print only 8 hex chars dumpstack sp/pc | cinap_lenrek | |
kernel addresses are sign extended to 64 bit. upper bits are not really helpfull. | |||
2014-02-02 | mallocalign: make sure alignptr offset is modulo align when -offset > align | cinap_lenrek | |
2014-02-02 | pc64: fix vmap | cinap_lenrek | |
VMAP address calculation was all wrong resulting in vmaps get mapped into KZERO map. |