summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2015-04-15upas/smtp: cleanup mkfilecinap_lenrek
no need to list headers explicitely as they are implied by $HFILES.
2015-04-13segment: don't store pointers in a longcinap_lenrek
2015-04-13segment: fix read/write g->dlen race, avoid copying kernel memory, qlockcinap_lenrek
code like "return g->dlen;" is wrong as we do not hold the qlock of the global segment. another process could come in and override g->dlen making us return the wrong byte count. avoid copying when we already got a kernel address (kernel memory is the same on processes) which is the case with bread()/bwrite(). this is the same optimization that devsd does. also avoid allocating/freeing and copying while holding the qlock. when we copy to/from user memory, we might fault preventing others from accessing the segment while fault handling is in progress.
2015-04-13zynq: invalidate cache before booting cpu1cinap_lenrek
sometimes, machine would crash on boot because of data cache inconsistency. invalidating the cache before booting cpu1 fixes it.
2015-04-12segment: speed up fixedseg() doing single pass over freelistcinap_lenrek
walking the freelist for every page is too slow. as we are freeing a range, we can do a single pass unlinking all pages in our range and at the end, check if all pages where freed, if not put the pages that we did free back and retry, otherwise we'r done.
2015-04-12segment(3): document fixed segment creationcinap_lenrek
2015-04-12mergeaiju
2015-04-12mergecinap_lenrek
2015-04-12segment: fix print buffer overflow, map fixed segments uncached, add to zynq ↵cinap_lenrek
kernel
2015-04-12mergecinap_lenrek
2015-04-12kernel: fixed segment support (for fpga experiments)cinap_lenrek
fixed segments are continuous in physical memory but allocated in user pages. unlike shared segments, they are not allocated on demand but the pages are allocated on creation time (devsegment). fixed segments are never swapped out, segfreed or resized and can only be destroyed as a whole. the physical base address can be discovered by userspace reading the ctl file in devsegment.
2015-04-12games/gb: improve sound emulation by modelling analog behaviouraiju
2015-04-11nintendo(1), qer(8): fix typosstanley lieber
2015-04-11games/gb: limit audio range to prevent clippingaiju
2015-04-10nintendo(1): update for gbc compatabilitystanley lieber
2015-04-11mergecinap_lenrek
2015-04-11ether82563: work arround bad eeprom checksum for some i218 card (thanks BurnZeZ)cinap_lenrek
on some machines, the eeprom checksum reads out as 0x3ABA because of some bios issue. adding a flag for ignoring the checksum and on i218 controllers.
2015-04-10mothra(1): replace code.google.com with code.9front.orgstanley lieber
2015-04-09bootrc: simplify bootargs splitting avoiding awkcinap_lenrek
2015-04-09pc, pc64: remove PCICONS debug buffer from pci.ccinap_lenrek
2015-04-08pool: avoid triggering assert(b->magic != FREE_MAGIC) in blocksetsize() for ↵cinap_lenrek
mallocalignl() when we trim the front of a block with freefromfront(), the block magic of the back was not initialized which could sometimes trigger the assert in blocksetsize() to fail. fix is to just move the initialization of the magic field before the blocksetsize() call. the second b->magic = UNALLOC_MAGIC isnt really required but just done for consistency with the trim() code above.
2015-04-08nusb/kb: always try to recover on error, fix recover for multi-function devicescinap_lenrek
when we get an i/o error, always call hdrecover() which will reset the port and reinitialize the interface of the calling processes endpoint. handle the case when we have multi-function device with multiple reader procs in hdrecover(). the sequence is as follows: 1) any of the reader procs encounters i/o error and calls hdrecover(), acquires qlock and initiates port reset. 2) any other readerprocs will now encounter i/o error (due to reset) and also call hdrecover() but will be waiting on the qlock for reset to complete. 3) first process completes reset and reinitializes its interface with setproto() and then releases the qlock for the other readers todo the same.
2015-04-08pci: just in case the bios is drunkcinap_lenrek
2015-04-08pc, pc64: handle 64-bit pci membarscinap_lenrek
this avoids listing the upper half of 64-bit membars in Pcidev.mem[] array avoiding potential confusion in drivers. we also check if the upper half is programmed to zero by bios and otherwise zap the entry in Pcidev.mem[] and print a warning.
2015-04-08pc, pc64: extend initial memory map for qemu multiboot datacinap_lenrek
qemu puts multiboot data after the end of the kernel image, so to be able to KADDR() that memory early, we extend the initial identity mapping by 16K. right now we just got lucky with the pc kernel as it rounds the map to 4MB pages.
2015-04-07pc: import intel i218 nic changes from 9atommischief
2015-04-07kernel: move arrow cursor definition to port/devmouse.ccinap_lenrek
2015-04-07sgi: disable graphical arcs console printing on screen modesetcinap_lenrek
when we switch to graphics mode, we do not want graphical arcs console to print on the screen anymore as it assumes 8bit color mode and just messes up the screen on kernel prints.
2015-04-02/lib/rob: Да!stanley lieber
2015-04-02sgi: keyboard, mouse and cursor for indycinap_lenrek
2015-04-02games/gb: improved audio codeaiju
2015-04-02mergecinap_lenrek
2015-04-02games/gba: fix -3 crash and prevent >100% speedaiju
2015-04-02audiohda: add AMD FCH Azalia Controller (thanks qeed)cinap_lenrek
2015-04-01games/gb: fix gbc dmaaiju
2015-04-01games/gb: fix -2/-3aiju
2015-04-01new games/gb: better emulation and gbc supportaiju
2015-04-01ether8169: fix Macv45cinap_lenrek
2015-04-01ether8169: add 8168GU mac id (thanks qeed)cinap_lenrek
2015-04-01games/c64: writes to I/O area do not affect underlying memory (documentation ↵aiju
lied)
2015-04-01devkbd: remove kbdputc() unused definition.cinap_lenrek
2015-04-01devkbd: remove unused constantscinap_lenrek
2015-04-01mergecinap_lenrek
2015-04-01games/gba: remove debugging printaiju
2015-04-01sgi: very primitive newport graphics driver for indycinap_lenrek
2015-04-01vl: prevent stack altering instructions to be hoisted above loadscinap_lenrek
fixes bug with libmemdraw where the linker would hoist the final ADD $const, SP at the end over loads from the stack causing the front to fall off once a interrupt hits.
2015-03-30webpaste: update for modified okturing.comstanley lieber
2015-03-30nintendo(1): add SOURCE entry for games/gbacinap_lenrek
2015-03-30sgi: preserve R27 in setregisters(), use setregisters() in noted()cinap_lenrek
GEVector() saves the exception return PC in Ureg.r27 which needs to be preserved. there should be no reason for the user to change the status register from noted() eigther, so we now just use setregisters() in noted() to restore previous general purpose registers. this means that CU1 will always be off after noted() because notify() has disabled the FPU on entry and set fpstatus to FPinactive if it was on. once user starts using FPU again, it will trap and restore fpu registers.
2015-03-30mergecinap_lenrek