summaryrefslogtreecommitdiff
path: root/sys/src
AgeCommit message (Collapse)Author
2020-12-07libdraw: open file-descriptor with OCEXEC flag in readcolmap()cinap_lenrek
2020-12-07libndb: open internal file-descriptors with OCEXEC flagcinap_lenrek
2020-12-07lib9p: open internal file-descriptor with OCEXEC flag in getremotesys()cinap_lenrek
2020-12-07lib9p: open /mnt/factotum/rpc with OCEXEC flag in auth9p()cinap_lenrek
2020-12-07lib9p: improve reqqueuecreate()cinap_lenrek
- open /proc/n/ctl with OCEXEC flag - format pid as ulong - don't leak the fd
2020-12-07mergecinap_lenrek
2020-12-07libdraw: open internal file-descriptors with OCEXEC flagcinap_lenrek
2020-12-07libdraw: remove unused Error label in freescreen()cinap_lenrek
2020-12-07libthread: reduce stack usage of threadkill*(), open /proc/n/ctl with OCEXEC ↵cinap_lenrek
flag
2020-12-07libthread: reduce stack usage for ioprocs, open /proc/n/ctl with OCEXEC flagcinap_lenrek
2020-12-07libthread: simplify threadsetname()cinap_lenrek
- open /proc/n/args with OCEXEC flag - reduce stack usage by using smaller buffer for path - format pid as ulong
2020-12-07libc: open internal file-descriptor with OCEXEC flagcinap_lenrek
2020-12-07rio: format pid's as ulongscinap_lenrek
2020-12-07rio: open /dev/snarf with OCEXEC flag when writingcinap_lenrek
2020-12-07rio: simplify filsysinit() by using getuser(), format pid's as ulongscinap_lenrek
2020-12-07libndb: remove db file size limitkvik
Removes the 128 kB limit for files making up the database. We used to skip over and complain about files that exceeded the limit, forcing the user to generate hash files. This caused things to inexplicably stop working after a file hit the hidden limit, which is unreasonable behaviour considering that libndb happily, albeit slowly, works with bigger files.
2020-12-06mergecinap_lenrek
2020-12-06pc64: assign fpsave/fprestore only once in fpuinit()cinap_lenrek
2020-12-06ptrap: implement filtering on plumb attributeskvik
2020-12-06pc64: AMD64 mandates SSE support, remove the check in fpuinit()cinap_lenrek
2020-12-06xen: use pc/fpu.ccinap_lenrek
2020-12-06pc, pc64: move all fpu specific code from main.c to fpu.ccinap_lenrek
2020-12-06xen: fix for the last avx changesSigrid
2020-12-06amd64: FP: back to static size for allocation and copyingSigrid
2020-12-06amd64: FP: always use enough to fit AVX state and align to 64 bytesSigrid
2020-12-06amd64, vmx: support avx/avx2 for host/guest; use *noavx= in plan9.ini to disableSigrid
2020-12-06rio: undo previous commit, was a stupid ideacinap_lenrek
2020-12-06rio: give visual clue during sweep and bandsizing when window is too smallcinap_lenrek
We color the window border with a dark red in case the window is too small.
2020-12-06rio: use libdraw's badrect() to exclude some extreme cases in goodrect()cinap_lenrek
2020-12-06rio: rewrite better portion() functioncinap_lenrek
2020-12-06rio: handle corner selection for resizing better (thanks cinap)Sigrid
2020-12-06rio: goodrect: clarify minimal height and actually use the smallest ↵Sigrid
reasonable value
2020-12-06rio: allow windows as small as one line of text, still scrollableSigrid
2020-12-06aux/status^(bar msg): few small fixes (thanks umbraticus)Sigrid
2020-12-06cwfs: fix interpretation of startdump argumentAlex Musolino
2020-12-05pc/dma, pc/sdide: use uintptr for physical address instead of ulongcinap_lenrek
2020-12-05pc, pc64: allocate dma bounce buffer right after xinit()cinap_lenrek
2020-12-05pc, pc64: exclude memory regions with unusual MTRR cache attributescinap_lenrek
Use the MTRR registers to exclude memory ranges that do not have the expected cache attributes: RAM -> writeback UMB -> uncached UPA -> uncached
2020-12-04faces: add -c option to remove faces with button 1 click (thanks sirjofri)Sigrid
2020-12-02mergecinap_lenrek
2020-12-02libdraw: do not force flushimage() on freescreen()cinap_lenrek
This causes visual flashes of white in rio. If it is really needed (it is rare) it should be done by the caller.
2020-12-02rio: properly restore the windows contents on /dev/mouse closecinap_lenrek
The previous resize optimization now means that the wfill() is skipped on resize for libdraw programs. So do it once /dev/mouse is closed and the window processes the Refresh message.
2020-11-30proof: don't confuse ""(1) (thanks Stuart Morrow)Ori Bernstein
"" looks for patterns in the form 'prompt;' or 'prompt%', and gets confused when proof emits 'illegal;'. This change replaces the ';' with a ':', which both matches other conventional error outputs and prevents "" from getting confused.
2020-11-29rio: avoid redrawing window text on resize for programs using libdrawcinap_lenrek
As long as the client as the mouse file open and maintains reading the winname file of the window after a resize we will avoid drawing the text frame on a resize as it will be overdrawn by the client. This reduces flicker on resize somewhat for slow systems.
2020-11-29pc, pc64, xen: rewrite interrupt handling codecinap_lenrek
This implements proper intrdisable() support for all interrupt controllers. For enable, (*arch->intrassign)(Vctl*) fills in the Vctl.enable and Vctl.disable pointers with the appropriate routines and returns the assigned vector number. Once the Vctl struct has been linked to its vector chain, Vctl.enable(Vctl*, shared) gets called with a flag if the vector has been already enabled (shared). This order is important here as enabling the interrupt on the controller before we have linked the chain can cause spurious interrupts, expecially on mp system where the interrupt can target a different cpu than the caller of intrenable(). The intrdisable() case is the other way around. We first disable the interrupt on the controller and after that unlink the Vctl from the chain. On a multiprocessor, the xfree() of the Vctl struct is delayed to avoid freeing it while it is still in use by another cpu. The xen port now also uses pc/irq.c which has been made generic enougth to handle xen's irq scheme. Also, archgeneric is now a separate file to avoid pulling in dependencies from the 8259 interrupt controller code.
2020-11-28games/mix: fix decoding of shift instructionsAlex Musolino
2020-11-28games/mix: fix SLAX and SRAX instructions (thanks nicolagi)Alex Musolino
MIX shift instructions shift by bytes not bits.
2020-11-27fplot: add hyperbolic functionsSigrid
2020-11-27fplot: add absSigrid
2020-11-27games/mix: fix implementation of MOVE instruction (thanks nicolagi)Alex Musolino
Plan 9 memcpy(2) uses the same implementation as memmove(2) to handle overlapping ranges. Hovewer, the MIX MOVE instruction, as described in TAOCP, specifically does not do this. It copies words one at a time starting from the lowest address. This change also expands the address validation to check that all addresses within the source and destination ranges are valid before proceeding.