Age | Commit message (Collapse) | Author | |
---|---|---|---|
2019-05-09 | 7l: implement MOVP instruction | cinap_lenrek | |
2019-05-09 | libc: provide arm64 assembly versions for memmove() and memset() | cinap_lenrek | |
just a first approximation, uses unaligned 8 byte loads and stores. MOVP not yet implemented by the linker. no ZVA cache magic yet. | |||
2019-05-09 | bcm64: map framebuffer write-through to allow unaligned access | cinap_lenrek | |
2019-05-07 | wadfs: avoid comma operator after PBIT32() macros | cinap_lenrek | |
2019-05-07 | plan9.ini(8), boot(8): clarify the use of $rootdir and $rootspec | cinap_lenrek | |
2019-05-07 | nusb/usbd: work around devices that ignore the high byte of wLength in ↵ | cinap_lenrek | |
control transfer reads there appear to be devices out there such as Realtek RTL2838UHIDIR SDR that do not process control transfers correctly, ignoring the high byte of the wLength field. to work around this, we specify an odd number of bytes for read sizes >= 256 which keeps the low byte 0xFF. | |||
2019-05-06 | Sand edges down on GBIT64()/PBIT64() macros. | Ori Bernstein | |
Now, you can safely use them in unbraced if statements, and with char*s. | |||
2019-05-06 | merge | cinap_lenrek | |
2019-05-06 | dist/mkfile: add *.pi3.img target for ARM64 raspberry pi3 | cinap_lenrek | |
2019-05-05 | lib: update pci database | mischief | |
2019-05-05 | bootrc: fix $rootdir and $rootspec handling (thanks lucio) | cinap_lenrek | |
we did not interpret the $rootdir and $rootspec environment variables right. $rootdir is what gets bound to / (usually /root) and $rootspec is the mountspec of /root. | |||
2019-05-05 | bcm: make sure fiq is on enabled on cpu0 | cinap_lenrek | |
2019-05-05 | bcm64: provide idlehands() function | cinap_lenrek | |
2019-05-05 | bcm64: get rid of usb workaround delay | cinap_lenrek | |
2019-05-05 | usbdwc: enable Slowbuilkin workarround, improve split transaction timing, ↵ | cinap_lenrek | |
handle erroring sleep(), debugging i'v been seeing the error condition described above in the Slowbulkin comment. so i'm enabling the work arround which seems to fix the lockup. in the split transaction case where we want to start the transaction at frame start, acquire the ctlr lock *before* checking if we are in the right frame number. so the start will happen atomically. checking the software ctlr->sofchan instead of checking the interrupt mask register seems to be quicker. setting the haint mask bit for the chan under ctlr lock in chanio() instead of chanwait() avoids needing to acquire the ctlr lock twice. mask wakechan bits with busychan bitmap in interrupt handlers so we will not try to wake up released chans by accident. sleep() and tsleep() might get interrupted so we have to release the split qlock in the split transaction case and in all cases, make sure to halt the channel before release. add some common debug functions to dump channel and controller registers. | |||
2019-05-05 | libc: fix NaN check precedence bug in modf() (thanks BurnZeZ) | cinap_lenrek | |
2019-05-04 | acid: add arm64 support | cinap_lenrek | |
2019-05-03 | rootstub: add /sys/lib/dist/ndb/dhcp/ | cinap_lenrek | |
2019-05-03 | pc kernel: remove countpagerefs() (thanks BurnZeZ) | cinap_lenrek | |
forgot to commit this... | |||
2019-05-03 | kernel: exec support for arm64 binaries | cinap_lenrek | |
2019-05-03 | bcm64: add experimental work in progress arm64 kernel for raspberry pi 3 | cinap_lenrek | |
2019-05-03 | bcm: don't call nil on PADDR() in dmaaddr(), return busdram dummy address | cinap_lenrek | |
2019-05-03 | bcm: move fiq saved pc adjust into lexception.s so it can be shared with arm64 | cinap_lenrek | |
2019-05-03 | uartpl011: dont touch line control while uart is enabled | cinap_lenrek | |
2019-05-03 | ktrace: arm64 support | cinap_lenrek | |
2019-05-03 | arm64: add mkfile | cinap_lenrek | |
2019-05-03 | python: arm64 support | cinap_lenrek | |
2019-05-03 | gs: arm64 support | cinap_lenrek | |
2019-05-03 | gs: avoid stupid shifts by casting to uint64_t | cinap_lenrek | |
2019-05-03 | ape: initial support for arm64 | cinap_lenrek | |
2019-05-03 | libthread: initial support for arm64 | cinap_lenrek | |
2019-05-03 | libmp: add dummy mkfile for arm64 | cinap_lenrek | |
2019-05-03 | libsec: dummy mkfile for arm64 | cinap_lenrek | |
2019-05-03 | libmach: initial arm64 support | cinap_lenrek | |
2019-05-03 | libc: initial arm64 support | cinap_lenrek | |
2019-05-01 | 7l: add missing AFMOVD with EXT/AUTO/LOREG operands to optab | cinap_lenrek | |
2019-05-01 | kernel: get rid of checkpagerefs() debugging | cinap_lenrek | |
was only implemented by the pc kernel. does not account pages used by the mount cache. | |||
2019-05-01 | kernel: export freepages() function so it can be used in mmurelease() | cinap_lenrek | |
2019-05-01 | kernel: include lock pointer in error report, stop spamming lockloop prints ↵ | cinap_lenrek | |
when we are panicing | |||
2019-05-01 | kernel: insert memory barrier in the scheduler before setting up->mach = nil | cinap_lenrek | |
we have to ensure that all stores saving the process state have completed before setting up->mach = nil in the scheduler. otherwise, another cpu could observe up->mach == nil while the stores such as the processes p->sched label have not finnished. | |||
2019-05-01 | [5678vq]c: fix .safe node type for *FUNC() = *FUNC() sugen | cinap_lenrek | |
2019-05-01 | vmx: build vmx only for 386 or amd64 | cinap_lenrek | |
vmx uses non portable word unpacking macros, breaking the build for arm64. vmx only works on a pc anyway. this forces objtype to 386 on these machines, similar to what the kernel mkfiles do. | |||
2019-04-27 | ether8169: fix thinkpad A485 ethernet (thanks mischief) | cinap_lenrek | |
attached is a patch to fix receive in the 8169 chip on my thinkpad A485. i'm not sure why, but the same thing was done in 3d56a0fc4645 for Macv45. nick | |||
2019-04-25 | 7c: don't emit SXTW for non-register source operand | cinap_lenrek | |
2019-04-23 | distproto: add /lib/news/ (thanks lyndon) | cinap_lenrek | |
2019-04-22 | 7l: there is no BIC* $bimm variant | cinap_lenrek | |
2019-04-19 | usbxhci: make stuck usb transactions interruptable. | cinap_lenrek | |
some control transactions can confuse the xhci controller so much that it even fails to respond to command abort or STOPEP control command. with no way for us to abort the transaction but a full controller reset. we give the controller 5 seconds to abort our initial transaction and if that fails we wake the recover process to reset the controller. thanks mischief for testing. | |||
2019-04-19 | distproto: add /lib/ndb/dhcp/ directory (thanks lyndon) | cinap_lenrek | |
2019-04-18 | nusb/usbd: stop sending port enable commands | mischief | |
from what i can tell, sending port enable is a spec violation. this fixes a hang during hub enumeration in the ASMedia xhci controller when i plug in my IBM UltraNav SK-8845. also, send unsuspend when port is suspended instead of enable. from the USB 2 specification: 11.24.2.7.1.2 PORT_ENABLE ... This bit may be set only as a result of a SetPortFeature(PORT_ENABLE). ... The hub response to a SetPortFeature(PORT_ENABLE) request is not specified. | |||
2019-04-17 | 7l: deal with huge (negative or > 24bit) register offsets, fix LACON, avoid ↵ | cinap_lenrek | |
DWORD in constant pool when we can sign extend |