summaryrefslogtreecommitdiff
path: root/sys/src/9/pc
AgeCommit message (Collapse)Author
2023-05-18libaml: tow eisaid inside the environmentmia soweli
2023-04-24etherwpi: accept pci device id 4222 (thanks oliver simmons)cinap_lenrek
2023-04-19imx8: make etheriwl work on MNT Reform, move it to port/ (thanks cinap); ↵Sigrid Solveig Haflínudóttir
tested with 6205
2023-04-08kernel: Clear secrets on rebootcinap_lenrek
The idea is that when we reboot, we zero out memory written by processes that have the private flag set (such as factotum and keyfs), and also clear the secrmem pool, which contains TLS keys and the state of the random number generator. This is so the newly booted kernel or firmware will not find these secret keys in memory.
2023-02-22etherbcm: support for newer BCM5717 series cards.james palmer
talk to the right phy for cards with many ports. fix pci ids.
2023-01-03devip: actually put igmp in ip sectioncinap_lenrek
2023-01-03devip: add igmp protocol support to all kernelscinap_lenrek
2022-12-27sdmmc: new interface for SDiocinap_lenrek
We want to support the internal emmc device on the reform, which has a different initialization sequence from SDcard. The problem is, all mmc controller drivers where using the command index to derive the command properties. The command index's interpretation depends on the command set. And MMC has different commands then SD. Also, there are the APP_CMD escaped commands which drivers then tried to recover the state... All of this is total nonsense... The controller drivers should not care and the command properties should be maintained by port/sdmmc.c. So we pass the command as a struct SDiocmd, which has all the properties (command index, response type, data transfer mode... and even a string for debugging). The controller just converts this into register values and just executes the commands. Next, the controller drivers shouldnt snoop on the commands and then try to apply bus and frequency switching on their own. This is now made explicit by having SDio.bus(io, width, speed) function.
2022-12-19ethervgbe: reduce console spam (thanks Arne Meyer)Ori Bernstein
this patch turns "no Tx entry available" messages into an ifstats counter to reduce console spam. While here, remove tx/rx offloading from the todo list to not give people ideas.
2022-12-11sdmmc: multiple controller supportcinap_lenrek
remove the global sdio struct and add a addmmcio() function for drivers to register their controllers. there is a SDio.aux pointer now where controller drivers can stash a pointer to their private data. SDio.init() also can signal that it wants to be called again for more controllers by returning > 0 (see pc/pmmc.c). this is in preparation for supporting the internal mmc device in the mnt-reform which is hooked up to usdhc1.
2022-12-03usbxhci: split usbxhci in portable and pci / soc specific driverscinap_lenrek
For the reform kernel, we used to have a slightly modified copy of port/usbxhci.c as the controller was implemented in soc specific registers and requires some rocket science initialization. Instead, we want to have a common generic xhci driver (usbxhci) and separate drivers that deal with the specific implementation such as usbxhcipci and usbxhciimx.
2022-11-25etheriwl: add pci id for AC 7265 card (thanks Chris Gorman)Ori Bernstein
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