Commit graph

5607 commits

Author SHA1 Message Date
cinap_lenrek 8ed13fe664 usbxhci: have to serialize and set read pointer for endpoint stop command 2017-08-02 01:45:30 +02:00
cinap_lenrek f001ddfdb5 disk/edisk: add some headroom in the type table for dynamic entries 2017-08-01 02:22:01 +02:00
cinap_lenrek 3c7eaa9d6b disk/edisk: add more partition type uuid's from wikipedia (thanks qeed) 2017-08-01 02:08:58 +02:00
cinap_lenrek 5f23d78f06 usbohci, usbehci, usbxhci: save mmio base address in ctlr, cant PADDR() on 386... 2017-07-31 17:36:56 +02:00
cinap_lenrek 48352be825 usbxhci: provide shutdown function to halt the controller 2017-07-31 16:05:58 +02:00
cinap_lenrek 56ac6ea29e nusb/*: cleanup 2017-07-31 15:29:08 +02:00
cinap_lenrek b1d4e86064 nusb/usbd: support for usb3 hubs 2017-07-31 14:38:39 +02:00
cinap_lenrek b4c1cf2ea1 libregexp: fix lexer so it doesnt move past the string when it gets a \ escape 2017-07-31 06:56:22 +02:00
cinap_lenrek 6e65596827 xhci: experimental usb3 support 2017-07-31 03:22:23 +02:00
cinap_lenrek 215b67ff3d nusb/usbd: create endpoint files for conf #1, usb3 preparation 2017-07-31 03:19:24 +02:00
cinap_lenrek d46099e3af usbehci: fix crash in cancelisoio() for highspeed device due to wrong pollival 2017-07-31 03:07:14 +02:00
cinap_lenrek adfb0e9371 pc, pc64: enable usbxhci in the configuration 2017-07-29 01:15:05 +02:00
cinap_lenrek cd108e2f0b usbxhci: simplify xecp() 2017-07-29 01:12:32 +02:00
cinap_lenrek c74538a67e usbxhci: implement controller handoff, ignore usb3.0 ports, honor pollival for isochronous endpoints 2017-07-29 01:02:23 +02:00
cinap_lenrek aaf6d7c558 usbxhci: basic iso write support (usb soundcard playback) 2017-07-24 23:48:50 +02:00
cinap_lenrek a397bfd48c usb: fix wrong pollival calculation in setmaxpkt() 2017-07-24 23:47:55 +02:00
cinap_lenrek 0b4ace02c4 usbxhci: handle changing maxpkt on control endpoint by reevaluating endpoint context
while endpoints != 0 are opend after the device descriptor has been
parsed and the endpoint properties like maxpkt have been set, the
control endpoint is opend with a guessed maxpkt value. once the first
8 bytes of the descriptor have been read by usbd, maxpkt gets set and
we need to reevaluate the control endpoint 0 context to update the value.
2017-07-22 19:35:32 +02:00
cinap_lenrek f72bcce2c7 usbxhci: use physical register addresses for matcing controllers and printing. simplify endpoint slot initialization. 2017-07-22 16:37:05 +02:00
cinap_lenrek f0217d2c3f usbohci, usbuhci, usbehci: use physical address of registers for matching controllers and printing 2017-07-22 16:35:13 +02:00
cinap_lenrek ffb28698bf kernel: fix bounds check in screenputc() 2017-07-20 21:03:00 +02:00
cinap_lenrek 4fd68773e2 usbxhci: implement command timeouts and aborts, serialize unstall 2017-07-20 19:57:14 +02:00
cinap_lenrek 40dc39bf7d usbxhci: better approach to unstalling endpoint and fixup td ring
instead of guessing where the controllers dequeue pointer went,
stop the endpoint and then explicitely set te dequeue pointer to
the next write td position. that way we do not need to fix the cycle
bit in the td's and dont need to rely on if the controller
advanced the dequeue pointer after a stall or not.

add ctx and slot back pointers to ring.
2017-07-17 21:10:25 +02:00
cinap_lenrek e7e18aac7f pc kernel: mkfile target usbehcipc.$O needs ../port/usb.h, add usbxhci.$O 2017-07-16 22:33:24 +02:00
cinap_lenrek 5e6f1b5769 usbxhci: commit work in progress xhci driver, no config yet 2017-07-16 22:29:29 +02:00
Ethan Grammatikidis 64195aea41 print(2): clean up vlong flag description 2017-07-02 19:12:50 +01:00
Ethan Grammatikidis a4c35d47bf rc(1): catch up with a change made long before 9front 2017-07-01 16:10:57 +01:00
Ethan Grammatikidis 4bcde1a30b pc(1) clarification 2017-07-01 16:02:18 +01:00
cinap_lenrek f58706f2cf zynq: simplify initcode stack setup (just do it in init0 when the stack is mapped) 2017-06-28 18:57:13 +02:00
cinap_lenrek befdd7d755 kernel: pass bootargs also in multiboot command line, retire the bootline mechanism to pass arguments to /boot/boot 2017-06-28 18:56:16 +02:00
aiju c4b02ff9e6 change icanhasvmx to report extra info only with -v 2017-06-27 09:29:37 +00:00
aiju dffbc1e45d vmx(1): I/O string instructions, incomplete support for IDE disks, misc fixes 2017-06-27 09:21:30 +00:00
aiju b5a6dc7849 vmx: fix build on non-x86 architectures (switch vlong) 2017-06-26 22:24:00 +00:00
aiju a9dd55c2ff libfis: fix inverted CHS bit 2017-06-25 23:23:56 +00:00
cinap_lenrek 63b8965b42 devvmx: add support for SG_STICKY segments 2017-06-25 22:57:47 +02:00
cinap_lenrek aab4e32ce0 pc, pc64: support for multiboot framebuffer, common bootargs and multiboot code 2017-06-25 22:22:58 +02:00
cinap_lenrek ffde0eda46 aux/vga: simplify vesa by adding rgbmask2chan() function 2017-06-25 22:14:52 +02:00
cinap_lenrek e2ca58cb3e merge 2017-06-22 20:48:14 +02:00
cinap_lenrek 81274ea0cf upas/fs: handle plumbing for new messages for concurrent index updates
when multiple upas/fs instances are running on the same index,
another upas/fs could have written the index, but we still want
to plumb the message.

so we introduce another cstate flag "Cnew" that is set when a
message that we havnt seen before by rdidx().
2017-06-22 20:46:04 +02:00
aiju 5883986336 vmx(1): fix translateflat on 64-bit 2017-06-22 07:31:35 +00:00
aiju cabfa4e916 devvmx: add support for extrap command to configure halting on exceptions 2017-06-21 22:19:14 +00:00
aiju 5c0bff4ba2 vmx(1): add support for (so far) crude 9p debugging fs; add gdb stub; clean up linux gdt code 2017-06-21 22:18:26 +00:00
aiju 37b9ab5a04 devvmx: error handling in clearmeminfo 2017-06-21 09:59:32 +00:00
aiju 779f6cb3b8 devvmx: remember segment names and free segments properly 2017-06-21 09:16:43 +00:00
cinap_lenrek 99ed9623b5 segment(3): document sticky segment type 2017-06-20 22:28:30 +02:00
cinap_lenrek 2723c9fc77 kernel: add support for sticky segments (cached, preallocated, never paged) 2017-06-20 21:53:45 +02:00
aiju fb165d6a54 vmx(1): obsdfb: check if curmode is nil 2017-06-20 18:21:47 +00:00
aiju da6e5efe39 vmx(1): round up frame buffer size to whole pages, ignore vga access in linear framebuffer, tell openbsd about framebuffer 2017-06-20 18:20:25 +00:00
aiju 164588e3e2 vmx(1): clean up region handling code; changes to support amd64 2017-06-20 15:15:53 +00:00
aiju becb89bae5 pc, pc64: adapt devvmx to work on pc64 2017-06-20 15:10:08 +00:00
cinap_lenrek 9fb2001658 merge 2017-06-19 20:58:44 +02:00
cinap_lenrek f109558b0c 8l, 6l: get .frame offset right undoing $-4 hack 2017-06-19 20:56:47 +02:00
aiju 115f7b2440 vmx(1), vmx(3): update manpages 2017-06-19 18:41:34 +00:00
aiju a83ce26b41 ktrace(1): handle amd64 stacktraces correctly 2017-06-19 17:22:41 +00:00
aiju f1cc75b547 vmx(1): i8042: translation changes reported keyboard id 2017-06-19 11:06:26 +00:00
aiju 2806a34ec0 vmx(1): linux kernel loading; PIT fixes to support linux; support VGA 0x3D4 word writes; support sending virtio ethernet packets to a file and prepending snoopy headers 2017-06-18 22:17:35 +00:00
aiju ed040d676a devvmx: fix CR0/CR4 readout; also don't exit on PAUSE instruction 2017-06-18 22:13:20 +00:00
cinap_lenrek eaffaab790 remove /sys/lib/##redacted##.##redacted## (thanks ##redacted##) 2017-06-18 22:28:45 +02:00
cinap_lenrek 7ab8649498 authsrv(6): don't say old p9any isnt in use anymore... 2017-06-18 22:21:46 +02:00
cinap_lenrek 3fc29c6984 auth/factotum: complete p9any v.2 server protocol, but don't enable it. 2017-06-18 21:59:16 +02:00
cinap_lenrek a1c1e00973 upas/fs: work in progress...
get plumbing logic out of mailbox drivers, all handled from
syncmbox() now. avoid reentrancy in syncmbox().

store attachment filename in index, so that we can return it
in mail info without fetching headers. (used to return blank
filename when read out of the index messing up attachments in
nedmail).

maintain Message.size for attachments.

get rid of string "refs" and just have a simple string intern
table (only used for Message.type and Message.charset).

Message.replyto and Message.filename are owned by the index,
so don't free in delmessage().
2017-06-18 18:52:54 +02:00
aiju c3d372c3da vmx(1): fix '-v text' 2017-06-18 01:51:28 +00:00
aiju 98b1a59547 vmx(1): don't zero all memory, don't abandon uart on eof, sleep before transmitting uart data 2017-06-17 23:30:23 +00:00
aiju 21669c4c97 vmx(1): fix non-vesa framebuffer mode 2017-06-17 22:52:13 +00:00
aiju 52a3502927 vmx(1): support debug instructions 2017-06-17 22:50:03 +00:00
aiju 2bb65c40ab devvmx: support debug registers; simplify assembly 2017-06-17 22:38:16 +00:00
aiju cbcd9b1d71 vmx: VESA support and other misc I/O improvements 2017-06-17 19:47:04 +00:00
aiju 439ab7cb0e vmx: complete cmos 2017-06-15 15:59:02 +00:00
aiju bd12cb47ce vmx: implement virtio reset 2017-06-15 15:58:52 +00:00
aiju 2fe3b28f86 vmx: obsd: load kernel symbol table and allow setting root device 2017-06-15 15:58:25 +00:00
aiju 1c4fa7b000 vmx: fix pic 'specific eoi' bug, fix kbd bug, add fake IDE and floppy controller 2017-06-15 07:42:57 +00:00
aiju 7e2771e238 vmx: openbsd support: parse more options 2017-06-15 07:41:51 +00:00
aiju 5542062dc8 vmx: fix virtio bugs 2017-06-15 07:41:26 +00:00
aiju b7a778917d vmx: remove debugging print 2017-06-14 18:18:44 +00:00
aiju 4dad8ffb6e vmx: support EFER and PAT access 2017-06-14 17:42:25 +00:00
aiju 49261dcb40 vmx: slightly more vga support 2017-06-14 17:41:51 +00:00
aiju 3dc0a21b4a vmx: improve PIT/keyboard support 2017-06-14 17:41:32 +00:00
aiju 643991956d vmx: support loading openbsd kernels 2017-06-14 17:40:48 +00:00
aiju 74241e31aa devvmx: support pat and efer registers 2017-06-14 17:38:01 +00:00
aiju 3b123799ab add vmx documentation 2017-06-13 14:19:42 +00:00
aiju d5e55f5140 add vmx(1) 2017-06-13 14:18:14 +00:00
aiju 8029c3d8c4 pc: add vmx device 2017-06-13 14:15:09 +00:00
aiju 13869bab11 pc/pc64: keep shadow copy of DR7 in Mach and use that to check whether we need to reset DR7 in procsave(); remove superfluous reset of DR7 in mmurelease() 2017-06-13 00:10:36 +00:00
aiju e8082c1d1f remove accidentally committed reference to devvmx 2017-06-12 23:03:40 +00:00
aiju dea6bc51bc pc/pc64: debugexc: ignore exception if in kernel mode and can't get hold of up->debug 2017-06-12 22:58:25 +00:00
aiju 89f71fa9ed acid(1), proc(3): document watchpoints 2017-06-12 20:31:04 +00:00
aiju fff474d863 xd: use new bio magic to make -u more efficient 2017-06-12 19:56:57 +00:00
aiju 1a40bdeb84 add aux/icanhasvmx 2017-06-12 19:54:31 +00:00
aiju 3844090f39 pc/pc64: reset DR7 in mmurelease 2017-06-12 19:46:25 +00:00
aiju dae0f4d28d aux/cpuid: decode family and model bitfields 2017-06-12 19:36:52 +00:00
aiju 744a4a8270 acid: fix goofup 2017-06-12 19:30:56 +00:00
aiju 68cfc786ba acid: watchpoint support 2017-06-12 19:29:20 +00:00
aiju 5dcb407add acid: provide hooks 'procattach' and 'dying' 2017-06-12 19:28:27 +00:00
aiju 7c62868a9f acid: always create proclist variable 2017-06-12 19:27:49 +00:00
aiju 0f653d0f29 acid: add getfields() builtin 2017-06-12 19:24:32 +00:00
aiju cd1f44b5c0 kernel: reset nwatchpt in pexit 2017-06-12 19:19:05 +00:00
aiju 773be02aa1 kernel: add support for hardware watchpoints 2017-06-12 19:03:07 +00:00
aiju 1cfa405d0a pc64: set error code and trap fields in Ureg* on syscalls 2017-06-12 17:09:11 +00:00
aiju 48c5da7a64 ethervirtio: report correct length; fail gracefully if we can't initialize queues 2017-06-12 11:25:12 +00:00
aiju 45411c31dc 6l: support MOV to/from DR[1-3] 2017-06-11 22:29:33 +00:00
aiju c94b2f32a3 8l: support MOV from/to DR[1-3] 2017-06-11 22:09:57 +00:00
cinap_lenrek 1013779e74 stats: get rid of the legacy import fallback
using legacy import is dangerious as it is unencrypted by default,
so a man in the middle can force the fallback to import protocol
and then take over the connection to the remote machine gaining
full access to is.
2017-06-08 09:08:59 +02:00
cinap_lenrek b4a9468fdd upas: fix infinite loop in common/mkfile (thanks raiz) 2017-06-07 07:38:10 +02:00
cinap_lenrek 8bf3674983 make python subprocess module work with ape/sh 2017-06-05 17:21:42 +02:00
cinap_lenrek 94e26e7576 kernel: make statistics counters skipscheds and preempts unsigned 2017-06-03 18:59:48 +02:00
cinap_lenrek 178e05f9b7 awk: handle bad/incomplete input in maketab (thanks kenji arisawa) 2017-06-02 19:03:37 +02:00
cinap_lenrek 3d1908d762 kernel: don't preempt pager during fscache reclaim
the fscache image is the main source for pages once
the page freelist got exhausted, so delay scheduling
until they release the fscache lock.
2017-06-02 17:02:43 +02:00
aiju 04b8539ee2 plan9.ini(8): document netconsole 2017-06-01 07:07:55 +00:00
aiju 48fa332c61 pc: actually call netconsole() 2017-06-01 06:40:05 +00:00
aiju 7134d62ccb pc: add netconsole 2017-05-31 23:41:21 +00:00
cinap_lenrek eb6bba80ef merge 2017-05-30 16:10:23 +02:00
cinap_lenrek 1bc20697ed devsegment: return proper write count for ctl message 2017-05-30 16:08:47 +02:00
stanley lieber db46e826c2 newt: add !cmd 2017-05-28 15:45:07 -04:00
stanley lieber 9c70c81e70 newt: honor environment variables $editor and $pager 2017-05-26 11:15:35 -04:00
aiju ce17224eaf ?a: getc() needs to increment lineno if it gets \n from peekc 2017-05-26 00:01:53 +00:00
aiju 5fb666453a libmach: add INVEPT and INVVPID instructions 2017-05-24 00:59:14 +00:00
qwx 6f63752d84 igfx: add support for haswell graphics
add support for edp, dp and hdmi on haswell and haswell ult.
vga, dvi and specific configurations like ulx are unimplemented.

remaining issue: edp link training always fails (time out).
2017-05-22 18:19:24 +02:00
aiju 3cc97ac108 io(1): %llx -> %ullx 2017-05-22 09:04:51 +00:00
aiju 82f91a895a libmach: fix wrong offset bug (thanks cinap); add VMX instructions 2017-05-22 00:40:18 +00:00
cinap_lenrek 760e539811 kernel: avoid panic with segio and SG_FAULT segments
the problem is that segio doesnt check segment attributes
and it can't really in case of SG_FAULT which can be
inherited from pseg and toggle at any time.

so instead of returning -1 from fault into the fault$cputype
handler which then panics when fault happend kernel mode,
we jump into segio's waserror() block just like in the
demand load i/o error case (faulterror()).
2017-05-21 16:36:11 +02:00
cinap_lenrek 1dc5f9222a vt: don't flush while there is keyboard input available 2017-05-20 14:45:47 +02:00
BurnZeZ f308677510 /sys/lib/acid/port: make line() also print the line number 2017-05-11 19:34:54 +00:00
cinap_lenrek 2fda77e404 /sys/doc: fix mkfile to and remove files that now can be regenerated 2017-05-09 16:23:48 +02:00
cinap_lenrek 015956ea61 troff: charlib: fix right hand special character 2017-05-09 16:10:44 +02:00
cinap_lenrek bff4fad52a rio: implement writable and truncatable /dev/text 2017-05-07 19:05:12 +02:00
cinap_lenrek 7327bd43c0 kernel: fix namelenerror(), avoid memrchr() and make it static
make sure the loop terminates and doesnt get stuck at
name == aname. avoid memrchr() as it conflicts with
libc on unix (drawterm). declare namelenerror() as
static.
2017-05-07 18:13:37 +02:00
aiju 37567f07d1 update ape/bio.h (thanks jpm) 2017-05-06 14:33:52 +00:00
cinap_lenrek f317d233f4 devproc: can't wait for ourselfs to stop (thanks Shamar) 2017-05-06 00:49:47 +02:00
BurnZeZ 59e8bc0e23 aux/statusmsg: use libbio for textmode output
calling write(1, "\b", 1); for each rune to be removed is a lot of
overhead, and we don’t want rio to turn each of these writes into a
draw operation.

also, it now prints to stderr before exiting if initdraw() fails
2017-05-05 21:43:30 +00:00
cinap_lenrek 74b6d9bda3 ssh: add -h flag to pass host (for compatibility) 2017-05-05 21:04:31 +02:00
aiju 7ade57b678 sed: add -u flag that flushes output buffers before reading in further input 2017-05-05 08:22:13 +00:00
aiju 20b945a382 bio(2): manpage typo 2017-05-04 17:47:03 +00:00
aiju f681cf835a bio: add support for custom I/O handler via Biofn 2017-05-04 17:42:12 +00:00
cinap_lenrek 414d29e98f ssh(1): document -T tries option, #subsys cmd behaviour 2017-05-03 20:56:20 +02:00
cinap_lenrek 710d4982b7 ssh: quote cmd arguments with unix shell single quotes, request tty even with TERM=dumb 2017-05-03 20:55:32 +02:00
cinap_lenrek 38d421ec00 ctime(2): fix example (thanks raiz)
raiz → the reason that the manpage example works not because
it's a correct timezone file format, but because readtimezone()
(in libc) fails and defaults to GMT.
2017-05-03 20:47:46 +02:00
cinap_lenrek cd694c6016 upas/fs: handle partial fetches (imap server returning less messages than available) 2017-05-02 04:07:21 +02:00
cinap_lenrek 295c0071c3 dist/ndb: move sources auth server to ndb/common, list root dns servers in ndb/local as a fallback 2017-05-01 22:49:35 +02:00
cinap_lenrek d63cc467d8 5e: fix special bitshift and rotations 2017-05-01 20:22:23 +02:00
cinap_lenrek 359955ee4b vt(1): the "send" menu became "paste" 2017-05-01 02:31:50 +02:00
cinap_lenrek f6b68dd79b sshfs(4): fix bad cross reference 2017-05-01 02:18:09 +02:00
cinap_lenrek fa94532c08 vgamach64xx: remove drawdebug reference 2017-05-01 02:15:03 +02:00
cinap_lenrek 0b85c859f5 merge 2017-05-01 00:03:01 +02:00
cinap_lenrek 2713779ee6 ip/torrent: avoid requesting same chunks
instead of always just requesting the missing range
of the current piece, remember the workpiece offset
and request sequential chunks from the workpiece.

this avoids double requests of the same ranges when
the peer does not respond with the data immidiately.
2017-05-01 00:01:14 +02:00
spew ff8ae67b70 libregexp: miscellaneous little cleanups 2017-04-30 15:08:36 -05:00
cinap_lenrek c00c60d327 sshfs: fix -r / retulting in "//foo" paths, memory leaks, use estrdup9p()
just use cleanname() to implement pathcat(), which
handles double slashes and ".." elements already.

have to free the partial dir structue on error in
parsedir().

use estrdup9p() instead of strdup().
2017-04-30 18:28:06 +02:00
cinap_lenrek 607e651c06 vnc: substitute iprint() with fprint(2, (gone from libmemdraw) 2017-04-30 04:06:03 +02:00
cinap_lenrek 24420ab9eb kernel: fix rewinding in directories with pread() offset
reading directories with pread() offset has to work the same
way as read(), otherwise exportfs breaks rewinding in directories.
2017-04-30 01:51:07 +02:00
cinap_lenrek f8478eb4c4 lib9p: allow rewinding in 9pfile directories 2017-04-30 01:49:21 +02:00
cinap_lenrek 56611ced39 libmemdraw: get rid of kernel iprint() emulation 2017-04-29 21:13:48 +02:00
cinap_lenrek 9a5e55782d libmemdraw/libmemlayer: get rid of drawdebug prints 2017-04-29 21:10:28 +02:00