summaryrefslogtreecommitdiff
path: root/sys/src/9/pc
AgeCommit message (Collapse)Author
2017-03-11pc kernel: give cpu servers as many image cache strctures as processescinap_lenrek
2017-03-11pc kernel: avoid AP's spinning in syncclock(), don't wait for thunderbirdsargocinap_lenrek
2017-03-11pc kernel: assume tsc and lapic clock rate on application processors is the ↵cinap_lenrek
same as on bootrap processor
2017-03-11pc kernel: don't use active.thunderbirdsargo in vunmap() tlb flush codecinap_lenrek
2017-03-01pc, pc64: bump Qmax in devarchmischief
my x301 and t420 run out of archfiles with *acpi= while trying to add hdacmd from audiohda.
2017-02-21ether8169: add support for RTL8106E (thanks _potato)cinap_lenrek
2017-02-20ether82563: work arround phyprobe() failing on 82579LM without cable plugged ↵cinap_lenrek
in (thanks mischief) on 82579LM, the phy status is inaccessible without a cable plugged, so we wait and retry phyprobe() once the link status changes.
2017-02-19ether82563: support for i219 (tested on t460p, thanks aiju)cinap_lenrek
2017-02-16wifi: timestamps in debug print, flush queue on deassoc, shorter roam ↵cinap_lenrek
timeout, timeout in blocked state, fix essid seprint race - add some milisecond timestamps to the status change debug printing - flush the packets in the queue on deassoc to avoid processing old pae packets on next association. - make roaming timeout shorter (60 -> 20 seconds) - automatically timeout and restart wpa/pae blocked state - fix printing race when essid gets changed underneath seprint
2017-02-16etheriwl: add support for Centrino Advanced-N 6030, 6235 (thanks khm, openbsd)cinap_lenrek
from openbsd driver, it seems the Centrino Advanced-N 6030 and 6235 cards share the same device revision as the 6205 (Type6005). Also changing the device revision field from 4 to 5 bits.
2017-02-13wifi: handle short preamble and short time slot capabilitiescinap_lenrek
- drivers enable short preamble and sort timeslot depending on the ap beacon capinfo field (bss->cap) - wifi sets short preamble bit in capinfo on association request - wifi sets short timeslot bit when ap advertized it in beacon
2017-01-22pc/pc64: get rid of timerset(0) case, was used with "i8253set off" ctlcinap_lenrek
2016-12-29vgaigfx: enable softscreen by defaultcinap_lenrek
given that the igfx driver doesnt provide any acceleration functions and drawing is usually faster with double buffering as it eleminates reads over the pci bus, enable softscreen by default.
2016-12-17pc: modify cpu0 page tables in patwc() instead of current cpu onescinap_lenrek
on 386 kernel, each processor has its own pdb where the primary pdb for kernel mappings is on cpu0 and other cpu's lazily pull pdb entries from cpu0 when they fault in vmapsync(). so we have to edit the table tables in the pdb of cpu0 and not the current processor.
2016-12-17pat write combinding support for 386 kernel, honor cpuid bitscinap_lenrek
2016-12-15pc64: implement simple write combining for framebuffers with the PATcinap_lenrek
on some modern machines like the x250, the bios arranges the mtrr's and the framebuffer membar in a way that doesnt allow us to mark the framebuffer pages as write combining, leading to slow graphics. since the pentium III, the processor interprets the page table bit combinations of the WT, CD and bit7 bits as an index into the page attribute table (PAT). to not change the semantics of the WT and CD bits, we preserve the bit patterns 0-3 and use the last entry 7 for write combining. (done in mmuinit() for each core). the new patwc() function takes virtual address range and changes the page table marking the range as write combining. no attempt is made on invalidating tlb's. doesnt matter in our case as the following mtrr() call in screen.c does it for us.
2016-12-10devmouse: change msec argument of *mousetrack() to ulongcinap_lenrek
2016-12-05audioac97: support for ICH4-ICH7 based cards with memory mapped registers ↵cinap_lenrek
(thanks echoline)
2016-11-05archacpi: fix format string warning on amd64cinap_lenrek
2016-10-23pc/archacpi: don't do acpi initialization in the kernel, provide generic ↵cinap_lenrek
acpimem routines get rid of _INI and _REG method calls, this is not full acpi environment anyway and all we really want todo at kernel boot time is figuring out the interrupt routing. aux/acpi can try to enable more stuff if it needs to later when battery status desired. dont snoop memory space regions in amlmapio(), this is just wrong as amlmapio() is *lazily* mapping regions as they are accessed, so the range table would never be really complete. instead, we provide generic access to the physical address space, excluding kernel and user memory with acpimem file.
2016-10-18archacpi: optionally export acpi memory regions; properly initialize environmentftrvxmtrx
2016-08-27kernel: switch to fast portable chacha based seed-once random number generatorcinap_lenrek
2016-08-27wifi: update wifi.h headercinap_lenrek
2016-08-27wifi: allocate cipher states in secret memory, do AESstate key setup oncecinap_lenrek
2016-08-20vga/igfx: add pci did's for kenjis intel graphics cards.cinap_lenrek
2016-06-30acpi: _ADR and _BBN might be methods, so use amleval() to evaluate the valuecinap_lenrek
2016-06-30ether8169: fix wrong mbps setting (from qu7uux)cinap_lenrek
the first time rtl8169link is called (from rtl8169pnp), the link isn't up, so setting edev->mbps based on Phystatus register is skipped. edev->mbps is then still set at the default 100, and that ends up being what devether uses. this is why some rtl8169 cards are misprinted as 100Mbps in kmesg. later, after rtl8169link is called again from rtl8169interrupt, the link is up and edev->mbps is set to the correct value (as shown by e.g. /net/ether0/stats). so instead, set speed regardless of link status.
2016-06-05aml: define amlintmask and set it according to DSDT revision (64bit / 32bit)cinap_lenrek
2016-06-01etheriwl: add pcid 0x0082 for Intel Centrino Advanced-N 6205 variantstanley lieber
2016-05-26vgaigfx: check gtt to determine graphics memory size, add hw cursor support ↵cinap_lenrek
for g35 (thanks kenji)
2016-05-26etheriwl: add pci id for PRO/Wireless 5350 AGN (thanks Ori_B)cinap_lenrek
2016-05-08vgaigfx: fix device id for Ivy Bridge (thanks Kenji)cinap_lenrek
2016-05-05pc64: add etheryuk drivercinap_lenrek
2016-05-05etheryuk: add Yukon 88R8055 id from erik quanstros driver (thanks Kanji)cinap_lenrek
2016-05-01pc: use fpsave() instead of fpenv() to capture fp exception contextcinap_lenrek
2016-04-07ether82563: initial i217 support from ↵cinap_lenrek
http://www.9legacy.org/9legacy/patch/pc-ether82563-i210.diff (thanks k0ga) This patch is only an adaptation for 9front of the patch located in http://www.9legacy.org/9legacy/patch/pc-ether82563-i210.diff. The major difference is that this patch ignores errors in checksum of eeprom, because in my system the checksum was wrong. After 3 months, I didn't have problems, and I think the patch can be used. although it has some things that need to be fixed. If the link is inactive when the system boots then it will remain inactive forever.
2016-03-27zynq: introduce SG_FAULT to prevent access to AXI segment while PL is not readycinap_lenrek
access to the axi segment hangs the machine when the fpga is not programmed yet. to prevent access, we introduce a new SG_FAULT flag, that when set on the Segment.type or Physseg.attr, causes the fault handler to immidiately return with an error (as if the segment would not be mapped). during programming, we temporarily set the SG_FAULT flag on the axi physseg, flush all processes tlb's that have the segment mapped and when programming is done, we clear the flag again.
2016-02-16usbuhci: removing "uhci bug" print spam from interrupt handlercinap_lenrek
this code was if(0) for a long time due to wrong parentesis, fixed parentesis cause print spam on some machines making them unusage (kenji okomoto). removing the check alltogether.
2016-01-14wifi: check tkip/ccmp mac and crc in constant time avoiding timing side channelscinap_lenrek
2016-01-13pc/pc64: backing out new mp startup code (caused issues with ramnode)cinap_lenrek
apparently, this causes some quadcore ramnode vm to hang on boot, even tho all cores successfully started up and are operational. i suspect some side effect from timersinit()... this would also mean *notsc= would break it (syncclock() would continue)... its unclear. i'm reverting this for now until the problem is better understood.
2016-01-11pc/pc64: bring up ap's one after another, use idlehands() while waiting for ↵cinap_lenrek
thunderbirdsarego when testing in qemu, launching each ap became slower and slower because all the ap's where spinning in syncclock() waiting for cpu0 to update its mach0->tscticks, which happens only much later after all cpu's have been started up. now we wait for each cpu to do its timer callibration and manually update our tscticks while we wait and each cpu will not spin but halt while waiting for active.thunderbirdsarego. this reduces the system load and noise for timer callibration and makes the mp startup linear with regard to the number of cores.
2016-01-07pc/pc64: remove mpshutdown printcinap_lenrek
2016-01-07format pointer subtraction results with %zd instead of %ld (for long -> ↵cinap_lenrek
intptr on amd64)
2016-01-05pc/pc64: import i210 support from erik quanstrom's 9atomcinap_lenrek
2016-01-05kernel: change active.machs from bitmap to char array to support up to 64 ↵cinap_lenrek
cpus on pc64
2015-11-30kernel: cleanup exit()/shutdown()/reboot() codecinap_lenrek
introduce cpushutdown() function that does the common operation of initiating shutdown, returning once all cpu's got the message and are about to shutdown. this avoids duplicated code which isnt really machine specific. automatic reboot on panic only when *debug= is not set and the machine is a cpu server or has no display, otherwise just hang.
2015-10-17wifi: prioritize rsne over wpaiecinap_lenrek
if beacon/proble contains both wpa information element and rsne, the rsne wins.
2015-10-09wifi: quote value of parsed ether optionscinap_lenrek
introduce wificfg() function to convert ether->opt[] strings to wifictl messages, which needs quoting for the value. so etherX=type=iwl essid='something with spaces' works.
2015-09-29pc, pc64: add did for intel wildcat point audio controllermischief
2015-09-20pc, pc64: fix sdvirtio descriptor count when sending flushmischief