summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-05-097l: implement MOVP instructioncinap_lenrek
2019-05-09libc: 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-09bcm64: map framebuffer write-through to allow unaligned accesscinap_lenrek
2019-05-07wadfs: avoid comma operator after PBIT32() macroscinap_lenrek
2019-05-07plan9.ini(8), boot(8): clarify the use of $rootdir and $rootspeccinap_lenrek
2019-05-07nusb/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-06Sand edges down on GBIT64()/PBIT64() macros.Ori Bernstein
Now, you can safely use them in unbraced if statements, and with char*s.
2019-05-06mergecinap_lenrek
2019-05-06dist/mkfile: add *.pi3.img target for ARM64 raspberry pi3cinap_lenrek
2019-05-05lib: update pci databasemischief
2019-05-05bootrc: 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-05bcm: make sure fiq is on enabled on cpu0cinap_lenrek
2019-05-05bcm64: provide idlehands() functioncinap_lenrek
2019-05-05bcm64: get rid of usb workaround delaycinap_lenrek
2019-05-05usbdwc: 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-05libc: fix NaN check precedence bug in modf() (thanks BurnZeZ)cinap_lenrek
2019-05-04acid: add arm64 supportcinap_lenrek
2019-05-03rootstub: add /sys/lib/dist/ndb/dhcp/cinap_lenrek
2019-05-03pc kernel: remove countpagerefs() (thanks BurnZeZ)cinap_lenrek
forgot to commit this...
2019-05-03kernel: exec support for arm64 binariescinap_lenrek
2019-05-03bcm64: add experimental work in progress arm64 kernel for raspberry pi 3cinap_lenrek
2019-05-03bcm: don't call nil on PADDR() in dmaaddr(), return busdram dummy addresscinap_lenrek
2019-05-03bcm: move fiq saved pc adjust into lexception.s so it can be shared with arm64cinap_lenrek
2019-05-03uartpl011: dont touch line control while uart is enabledcinap_lenrek
2019-05-03ktrace: arm64 supportcinap_lenrek
2019-05-03arm64: add mkfilecinap_lenrek
2019-05-03python: arm64 supportcinap_lenrek
2019-05-03gs: arm64 supportcinap_lenrek
2019-05-03gs: avoid stupid shifts by casting to uint64_tcinap_lenrek
2019-05-03ape: initial support for arm64cinap_lenrek
2019-05-03libthread: initial support for arm64cinap_lenrek
2019-05-03libmp: add dummy mkfile for arm64cinap_lenrek
2019-05-03libsec: dummy mkfile for arm64cinap_lenrek
2019-05-03libmach: initial arm64 supportcinap_lenrek
2019-05-03libc: initial arm64 supportcinap_lenrek
2019-05-017l: add missing AFMOVD with EXT/AUTO/LOREG operands to optabcinap_lenrek
2019-05-01kernel: get rid of checkpagerefs() debuggingcinap_lenrek
was only implemented by the pc kernel. does not account pages used by the mount cache.
2019-05-01kernel: export freepages() function so it can be used in mmurelease()cinap_lenrek
2019-05-01kernel: include lock pointer in error report, stop spamming lockloop prints ↵cinap_lenrek
when we are panicing
2019-05-01kernel: insert memory barrier in the scheduler before setting up->mach = nilcinap_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() sugencinap_lenrek
2019-05-01vmx: build vmx only for 386 or amd64cinap_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-27ether8169: 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-257c: don't emit SXTW for non-register source operandcinap_lenrek
2019-04-23distproto: add /lib/news/ (thanks lyndon)cinap_lenrek
2019-04-227l: there is no BIC* $bimm variantcinap_lenrek
2019-04-19usbxhci: 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-19distproto: add /lib/ndb/dhcp/ directory (thanks lyndon)cinap_lenrek
2019-04-18nusb/usbd: stop sending port enable commandsmischief
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-177l: deal with huge (negative or > 24bit) register offsets, fix LACON, avoid ↵cinap_lenrek
DWORD in constant pool when we can sign extend