summaryrefslogtreecommitdiff
path: root/sys/src/9/pc
AgeCommit message (Collapse)Author
2022-11-15kernel: handle 64-bit multiboot framebuffer addressMichael Forney
2022-11-05ethervgbe: do not give userspace the frame check sequenceJacob Moody
2022-09-22devarch: add name for VIA C7 EdenArne Meyer
2022-09-05ethervgbe: fix fucked up mergecinap_lenrek
2022-08-18devvga: fix race condition between writes to vgactlqwx
to reproduce: for(i in `{seq 10}) echo softscreen off >/dev/vgactl
2022-08-17kernel: allocate notes in heapcinap_lenrek
de-bloat the proc structure by allocating notes with on the heap instead of embedding them in the proc structure. This saves around 640 bytes per process.
2022-08-17kernel: simplify notify() adding common popnote() functioncinap_lenrek
Handlin notes is common for all architectures except how the note has to be pushed on the user stack. This change adds a popnote() function that returns only the note string or nil if the process should not be notified (no notes or user notes hold off). Popnote() also handles common errors like notify during note handling or missing note handler and will suicide the process in that case.
2025-05-14kernel: get rid of Proc.kstackglenda
The kernel stack is now above the Proc structure, so the explicit kstack pointer can be eliminated.
2022-08-129: compute available kernel pages using sizeof(Proc*)Ori Bernstein
procs come from the dynamic pools, so we don't need to remove the memory used by possible procs from the total available.
2022-08-12ether8169: support for RTL8168EP chips"Ori Bernstein"
There are a few flags we need to set, and the order of initialization changed. Synced from the FreeBSD driver, with the mac version coming from Linux.
2022-08-11etheriwl: add 7265 device idqwx
tested and working well on x250
2022-08-109/port: allow kiloprocs -- allocate procs lazilyOri Bernstein
Treallocate the small data structures around procs eagerly, but use malloc to allocate the large proc data structures when we need them, which allows us to scale to many more procs. There are still many scalability bottlenecks, so we only crank up the nproc limit by a little bit this time around, and crank it up more as we optimize more.
2022-07-20pc/rtc: make sure string is NUL terminates for rtc writecinap_lenrek
2022-07-18kernel: consistently add devbridge and netdevmedium to kernel configscinap_lenrek
2022-07-03sdnvme: add dmaflush() instructions, move to port/cinap_lenrek
2022-06-17kernel: add dev dtracy provider.Jacob Moody
2022-06-15skel(3) → skelfs(4)Jacob Moody
The original intention was to put devskel in to the kernel to detach what it provides from devsrv. That is not a good reason, just move it to userspace. auth/box has been changed to exec skelfs instead of relying on '#z'.
2022-06-07kernel: add devskel for pc and pc64Jacob Moody
2022-04-03uartpci: AMT SOL Redirection interface (x200s)cinap_lenrek
2022-03-18uartpci: add serial-over-lan uart from x230/AMTcinap_lenrek
2022-03-18sdide: add pci id for AMT IDE-r controller on x230cinap_lenrek
2022-02-28ether82563: add pci id for ethernet on dell optiplex 7090 micro (thanks leimy)cinap_lenrek
0.31.6: net 02.00.00 8086/15f9 255 0:70900000 131072 Intel Corporation
2021-08-21etheriwl: fixes for 7260 ackemal
2021-08-14 17:50 GMT, kemal <kemalinanc8@gmail.com>: > 1- as driver reads 8 bytes from nvm instead of 6 so fw doesn't > spit us an ADVANCED_SYSASSERT, it was reading 2 more > extra bytes. apparently those 2 extra bytes were put to > the first 2 bytes of our buffer, so we got to skip that. some more thoughts on this, i think as 0x15*2 is not multiple of 8, fw rounds the offset to 0x14*2. i have touched to code to read data from 0x14*2 then ignore the first 2 bytes, just so it's not confusing. if this causes mac to be read wrong again, report. also, some more changes: 1. set the fwname at iwlpci, just to align the behavior with 8000+. this is a cosmetic change. 2. i have discovered that on device boot/reset/shutdown functions, our driver slept way much more than it should. the reason for that is, driver used the function delay() on places where it needs to use microdelay() instead. i have modified the code to use microdelay(). wpi likely needs similar changes too. i hope that this does not break the code. 3. zzz a bit more on tx/rx scheduler shutdowns and niclock. 4. openbsd's iwm and linux apparently does not check if ownership was obtained anymore in their handover functions. instead they just loop until the hw is ready. aligned the behavior. see linux commit: 289e5501c3141191dd830957f1d764d3dc14a54f 5. don't take antenna masks from nvm. it's apparently empty in some cards from 7k family. we will rely on what the fw file gives us. 6. when the calibration is completed, wakeup the proc that runs postboot. otherwise that thing sleeps for like 2 whole seconds even if calibration completed earlier. i honestly don't think any of these changes will fix 7260 not being able to get calibration results, but i don't see anything wrong at all in postboot7000 at this point. i will just hope these changes somehow make it get calibration results. NOTE: latest patch on the 9front ml, posted Mon, 14 Feb 2022 15:26:55 +0300 (non functional as of yet)
2022-01-16kernel: make Page.txtflush into an arraycinap_lenrek
To avoid a MAXMACH limit of 32 and make txtflush into an array for the bitmap. Provide portable macros for testing and clearing the bits: needtxtflush(), donetxtflush(). On pc/pc64, define inittxtflush()/settxtflush() as no-op macros, avoiding the storage overhead of the txtflush array alltogether.
2021-12-13devssl, cpu, import, oexportfs: deleteOri Bernstein
SSL is implemented by devssl. It's extremely obsolete by now, and is not used anywhere but cpu, import, and oexportfs. This change strips out the devssl bits, but does not (yet) remove the code from libsec.
2021-12-08vga/igfx: add missing pci did's for hwblank for known mobile modelsqwx
2021-11-26kernel: support large 64-bit pci membars, increase pc64 VMAPSIZE to 1TBcinap_lenrek
This makes vmap()/vunmap() take a vlong size argument, and change the type of Pci.mem[].size to vlong as well. Even if vmap() wont support large mappings, it is nice to get the original unruncated value for error checking. pc64 needs a bigger VMAP window, as system76 pangolin puts the framebuffer at a physical address > 512GB.
2021-11-18audiohda: add support for intel cannon point-lp (t490s)qwx
2021-11-13vgaigfx: add x1 carbon 3rd genqwx
2021-11-05audiohda: add support for intel comet lake-s, fix typoqwx
2021-10-11kernel: move waserror() macro to port/portfns.hcinap_lenrek
2021-09-11audiohda: Add DID for Intel 200 Series PCH HD Audionessabeene@gmail.com
2021-09-13archacpi: leave acpi enabled with *acpi=Ori Bernstein
*acpi= was treated the same as *acpi=0, when we want it to be treated the same as *acpi=1
2021-09-13devvmx: skip tsc offset writing if CPU doesn't support itSigrid Solveig Haflínudóttir
2021-09-09ether82598: add pci device id for ixgbe i52899 (thanks izaki)cinap_lenrek
2021-09-05etheriwl: add did for Intel Centrino Advanced-N + WiMAX 6250 (thanks Nessa)Ori Bernstein
2021-09-04ether82563: add pci id for i219-v on t490sqwx
2021-08-30audiohda: fix syntax errorqwx
2021-08-29audiohda: add ztom z36*/z37* device idSigrid Solveig Haflínudóttir
2021-08-29ether8169: support rtl8402 variantSigrid Solveig Haflínudóttir
2021-08-16ether82563: add 0x15bd i219-lm variant (thanks crab1)Sigrid Solveig Haflínudóttir
2021-08-06etheriwl: fix botched merge...cinap_lenrek
2021-07-31[PATCH] Support for igfx on Celeron(R) 2957U (thanks Lorenzo Bivens)cinap_lenrek
> After some tinkering I managed to get igfx working on this device. > hw cursor works. > The only caveat is that I can only get video over hdmi... > will revisit displayport later
2021-07-15archacpi: make *acpi=1 the defaultcinap_lenrek
2021-07-15ether82563: add pci id for i219-LM from ThinkPad P17 Gen1 Professional ↵cinap_lenrek
Mobile Workstation (thanks tschak909)
2021-07-14pc, pc64: increase confmem slots to 64cinap_lenrek
Lenovo Thinkpad P17 Gen1 Professional Mobile Workstation comes up with around 36 separate memory ranges. ridiculous!
2021-07-11virtio: set FeaturesOk flag after feature negotiation, and enable queues ↵cinap_lenrek
before DriverOk flag
2021-07-11virtio: add non-legacy virtio 1.0 drivers for disk and ethernetcinap_lenrek
The new interface uses pci capability structures to locate the registers in a rather fine granular way making it more complicated as they can be located anywhere in any pci bar at any offset. As far as i can see, qemu (6.0.50) never uses i/o bars in non-legacy mode, so only mmio is implemented for now. The previous virtio drivers implemented the legacy interface only which uses i/o ports for all register accesses. This is still the preferred method (and also qemu default) as it is easier to emulate and most likely faster. However, some vps providers like vultr force the legacy interface to disabled with qemu -device option "disable-legacy=on" resulting on a system without a disk and ethernet.
2021-05-31sdvirtio: accept multi-queue devicesOri Bernstein
Sdvirtio supports multiple queues per device. We only use one queue, but we shouldn't skip the devices because of that.
2021-05-12devvmx: remove unncessary locking in gotcmd() sleep test functioncinap_lenrek