]> git.lizzy.rs Git - plan9front.git/log
plan9front.git
6 years agolibc: wunlock() part 2
cinap_lenrek [Thu, 26 Oct 2017 00:42:26 +0000 (02:42 +0200)]
libc: wunlock() part 2

the initial issue was that wunlock() would wakeup readers while
holding the spinlock causing deadlock in libthread programs where
rendezvous() would do a thread switch within the same process
which then can acquire the RWLock again.

the first fix tried to prevent holding the spinlock, waking up
one reader at a time with releasing an re-acquiering the spinlock.
this violates the invariant that readers can only wakup writers
in runlock() when multiple readers where queued at the time of
wunlock(). at the first wakeup, q->head != nil so runlock() would
find a reader queued on runlock() when it expected a writer.

this (hopefully last) fix unlinks *all* the reader QLp's atomically
and in order while holding the spinlock and then traverses the
dequeued chain of QLp structures again to call rendezvous() so
the invariant described above holds.

6 years agoupas/smtpd: don't call syslog() from the note handler, this can deadlock
cinap_lenrek [Mon, 23 Oct 2017 04:08:18 +0000 (06:08 +0200)]
upas/smtpd: don't call syslog() from the note handler, this can deadlock

when the alarm hits while the process is currently in syslog(), holding
the sl lock, then calling syslog again will deadlock:

/proc/1729193/text:386 plan 9 executable
/sys/lib/acid/port
/sys/lib/acid/386
acid: lstk()
sleep()+0x7 /sys/src/libc/9syscall/sleep.s:5
lock(lk=0x394d8)+0xb7 /sys/src/libc/port/lock.c:25
i=0x3e8
syslog(logname=0x41c64,cons=0x0,fmt=0x41c6a)+0x2d /sys/src/libc/9sys/syslog.c:60
err=0x79732f27
d=0x0
ctim=0x0
buf=0x0
p=0x0
arg=0x0
n=0x0
catchalarm(msg=0xdfffc854)+0x7a /sys/src/cmd/upas/smtp/smtpd.c:71
notifier+0x30 /sys/src/libc/port/atnotify.c:15

6 years agolibc: cleanup atexit and put exits() in its own compilation unit
cinap_lenrek [Fri, 20 Oct 2017 18:58:38 +0000 (20:58 +0200)]
libc: cleanup atexit and put exits() in its own compilation unit

this avoids having to pull in atexit() and its dependencies
(lock(), unlock()) into every program. (as exits() is called
by _main() from main9.s).

6 years agovt: block when sending input to host (fixes truncated paste)
cinap_lenrek [Fri, 20 Oct 2017 18:31:30 +0000 (20:31 +0200)]
vt: block when sending input to host (fixes truncated paste)

6 years agolibsec: make sectorNumber argument for aes_xts routines uvlong
cinap_lenrek [Tue, 17 Oct 2017 19:36:45 +0000 (21:36 +0200)]
libsec: make sectorNumber argument for aes_xts routines uvlong

6 years agolibsec: add AES CFB and AES OFB stream ciphers
cinap_lenrek [Tue, 17 Oct 2017 19:34:01 +0000 (21:34 +0200)]
libsec: add AES CFB and AES OFB stream ciphers

6 years agoaux/wpa: prevent PTK re-installation attack by replaying AP retransmits
cinap_lenrek [Tue, 17 Oct 2017 18:15:48 +0000 (20:15 +0200)]
aux/wpa: prevent PTK re-installation attack by replaying AP retransmits

this implements the mitigation suggested in section "6.5 Countermeasures" of
"Key Reinstallation Attacks: Forcing Nonce Resuse in WPA2" [1].

[1] https://papers.mathyvanhoef.com/ccs2017.pdf

6 years agoape/libsec: fix the build, bring ape libsec.h in sync with plan9 version
cinap_lenrek [Mon, 16 Oct 2017 02:06:17 +0000 (04:06 +0200)]
ape/libsec: fix the build, bring ape libsec.h in sync with plan9 version

6 years agossh: remove extern declarations for pkcs1padbuf() and asn1encodedigest() (now in...
cinap_lenrek [Fri, 6 Oct 2017 19:00:08 +0000 (21:00 +0200)]
ssh: remove extern declarations for pkcs1padbuf() and asn1encodedigest() (now in libsec.h)

6 years agorsa: add auth/rsa2asn1, check write error in auth/rsa2x509 and auth/rsa2pub, document...
cinap_lenrek [Fri, 6 Oct 2017 18:55:57 +0000 (20:55 +0200)]
rsa: add auth/rsa2asn1, check write error in auth/rsa2x509 and auth/rsa2pub, document in rsa(8)

6 years agolibsec: export asn1encodedigest(), asn1encodeRSApub(), asn1toRSApub(), pkcs1padbuf...
cinap_lenrek [Fri, 6 Oct 2017 18:52:18 +0000 (20:52 +0200)]
libsec: export asn1encodedigest(), asn1encodeRSApub(), asn1toRSApub(), pkcs1padbuf() and pkcs1unpadbuf()

6 years agolibsec: allow \r\n terminated lines in decodePEM()
cinap_lenrek [Thu, 5 Oct 2017 18:33:46 +0000 (20:33 +0200)]
libsec: allow \r\n terminated lines in decodePEM()

6 years agocheck for fs= in netaudit
aiju [Wed, 4 Oct 2017 15:56:53 +0000 (15:56 +0000)]
check for fs= in netaudit

6 years agohgwebfs: simplify retry loop construction
cinap_lenrek [Wed, 4 Oct 2017 03:06:54 +0000 (05:06 +0200)]
hgwebfs: simplify retry loop construction

6 years agondb/cs: icmp only supports version 4 addresses, icmpv6 only version 6 addresses
cinap_lenrek [Wed, 4 Oct 2017 03:04:33 +0000 (05:04 +0200)]
ndb/cs: icmp only supports version 4 addresses, icmpv6 only version 6 addresses

6 years agolibauthsrv: preserve readcons() error message from read() error
cinap_lenrek [Wed, 4 Oct 2017 03:01:54 +0000 (05:01 +0200)]
libauthsrv: preserve readcons() error message from read() error

6 years agohg: disable tag caching, allows accessing hg repo from dump
cinap_lenrek [Wed, 4 Oct 2017 01:59:17 +0000 (03:59 +0200)]
hg: disable tag caching, allows accessing hg repo from dump

6 years ago9boot: limit read size to 4K for efi simple file system protocol
cinap_lenrek [Fri, 29 Sep 2017 19:19:12 +0000 (21:19 +0200)]
9boot: limit read size to 4K for efi simple file system protocol

copying files from the uefi shell works, reading plan9.ini works,
loading the kernel by calling Read to read in the DATA section of
the kernel *FAILS*. my guess is that uefi filesystem driver or
nvme driver tries to allocate a temporary buffer and hasnt got
the space. limiting the read size fixes it.

6 years agopc64: add ether82598 driver to configuration
cinap_lenrek [Wed, 27 Sep 2017 12:13:58 +0000 (14:13 +0200)]
pc64: add ether82598 driver to configuration

6 years agoether82598: support for T540-T1, use physical addresses for isaconf port
cinap_lenrek [Wed, 27 Sep 2017 12:13:18 +0000 (14:13 +0200)]
ether82598: support for T540-T1, use physical addresses for isaconf port

reading mac doesnt work yet, requires ea= option in isaconf.

6 years agosdnvme: identify namespace list fails on intel ssd, just assume nsid=[1]
cinap_lenrek [Wed, 27 Sep 2017 12:02:13 +0000 (14:02 +0200)]
sdnvme: identify namespace list fails on intel ssd, just assume nsid=[1]

6 years agokernel: don't tokenize inplace in isaconfig() to make /dev/reboot work
cinap_lenrek [Wed, 27 Sep 2017 11:59:55 +0000 (13:59 +0200)]
kernel: don't tokenize inplace in isaconfig() to make /dev/reboot work

6 years agokernel: get rid of 36 bit Paerange mask in mtrr (supporting machines with more than...
cinap_lenrek [Wed, 27 Sep 2017 11:58:00 +0000 (13:58 +0200)]
kernel:  get rid of 36 bit Paerange mask in mtrr (supporting machines with more than 64GB of memory)

6 years agoupas/fs: fix putcache(), sub-part messages should never go into the lru
cinap_lenrek [Sat, 23 Sep 2017 15:33:05 +0000 (17:33 +0200)]
upas/fs: fix putcache(), sub-part messages should never go into the lru

we accidentally added non-top messages (attatchments) to the lru,
resulting in attachments to be freed. this is wrong.

6 years agoxhci: do bounds checking in capability walking, check if controller vanished on init...
cinap_lenrek [Fri, 22 Sep 2017 10:55:26 +0000 (12:55 +0200)]
xhci: do bounds checking in capability walking, check if controller vanished on init (thunderbolt unplug)

6 years agosshfs: use mtime for qid.vers, fix wstat without name change, fix wstat memory leak
cinap_lenrek [Fri, 22 Sep 2017 09:48:41 +0000 (11:48 +0200)]
sshfs: use mtime for qid.vers, fix wstat without name change, fix wstat memory leak

6 years agoupas/fs: replace fixed cache table with lru linked list
cinap_lenrek [Wed, 13 Sep 2017 21:24:10 +0000 (23:24 +0200)]
upas/fs: replace fixed cache table with lru linked list

the cachetab just keeps track of recent messages that have not
been called cachefree() on. under some conditions, the fixed
table could overflow (all messages having refs > 0). with a
linked list, overflow becomes non fatal and the algorithm is
simpler to implement.

6 years agowinwatch: show windows with empty labels (thanks jpm)
cinap_lenrek [Mon, 11 Sep 2017 17:17:12 +0000 (19:17 +0200)]
winwatch: show windows with empty labels (thanks jpm)

6 years agorename pcf kernel to pc, remove pcf, pccpuf, pccpu64 kernels, update documentation
cinap_lenrek [Sun, 10 Sep 2017 20:35:23 +0000 (22:35 +0200)]
rename pcf kernel to pc, remove pcf, pccpuf, pccpu64 kernels, update documentation

there isnt much of a point in keep maintaining separate
kernel configurations for terminal and cpu kernels as
the role can be switched with service=cpu boot parameter.

to make stuff cosistent, we will just have one "pc" kernel
and one "pc64" kernel configuration now.

6 years agoaudiohda: add pci id for nvidia GM204
BurnZeZ [Sun, 10 Sep 2017 02:27:31 +0000 (02:27 +0000)]
audiohda: add pci id for nvidia GM204

6 years agoaudiohda: add pci id for Intel 9 Series
BurnZeZ [Sun, 10 Sep 2017 02:21:31 +0000 (02:21 +0000)]
audiohda: add pci id for Intel 9 Series

6 years agovmx(3): document changes to devvmx interface
cinap_lenrek [Sun, 10 Sep 2017 01:12:00 +0000 (03:12 +0200)]
vmx(3): document changes to devvmx interface

6 years agoaudiohda: add pci id for ICH10 (thanks echoline)
cinap_lenrek [Sat, 9 Sep 2017 23:37:30 +0000 (01:37 +0200)]
audiohda: add pci id for ICH10 (thanks echoline)

6 years agodevvmx: call vmxshutdown from reboot() function manually
aiju [Sat, 2 Sep 2017 10:43:37 +0000 (10:43 +0000)]
devvmx: call vmxshutdown from reboot() function manually

6 years agosshfs: fork ssh in its own namespace so it wont keep the mountpoint open
cinap_lenrek [Tue, 29 Aug 2017 19:22:31 +0000 (21:22 +0200)]
sshfs: fork ssh in its own namespace so it wont keep the mountpoint open

6 years agosshfs: start sendproc and recvproc in the sane notegroup as the fs process so theadex...
cinap_lenrek [Tue, 29 Aug 2017 17:49:38 +0000 (19:49 +0200)]
sshfs: start sendproc and recvproc in the sane notegroup as the fs process so theadexitsall() works on sshfs: ending.

6 years agoether82563: make the ethernet of thinkpad p50 work (thanks sam-d)
cinap_lenrek [Tue, 29 Aug 2017 17:38:29 +0000 (19:38 +0200)]
ether82563: make the ethernet of thinkpad p50 work (thanks sam-d)

6 years agoaudiohda: Intel Sunrise Point-H support (thanks sam-d)
cinap_lenrek [Tue, 29 Aug 2017 17:37:26 +0000 (19:37 +0200)]
audiohda: Intel Sunrise Point-H support (thanks sam-d)

6 years agosdnvme: pass 0 instead of 0xffffffff as NSID for identify controller and create compl...
cinap_lenrek [Tue, 29 Aug 2017 07:52:53 +0000 (09:52 +0200)]
sdnvme: pass 0 instead of 0xffffffff as NSID for identify controller and create completion/submission queue commands (thanks Ori_B)

Samsung SSD 960 EVO fails with invalid namespace error otherwise...

6 years agodevdup: remove useless OCEXEC check, handled by namec()
cinap_lenrek [Mon, 28 Aug 2017 17:45:49 +0000 (19:45 +0200)]
devdup: remove useless OCEXEC check, handled by namec()

6 years agomerge
cinap_lenrek [Mon, 28 Aug 2017 17:42:19 +0000 (19:42 +0200)]
merge

6 years agodevsegment: handle ORCLOSE on segment directory correctly, fix wrong qid, missing...
cinap_lenrek [Mon, 28 Aug 2017 17:40:53 +0000 (19:40 +0200)]
devsegment: handle ORCLOSE on segment directory correctly, fix wrong qid, missing COPEN flag for segmentcreate()

6 years agodevvmx, vmx: lilu dallas multivm
aiju [Mon, 28 Aug 2017 17:27:41 +0000 (17:27 +0000)]
devvmx, vmx: lilu dallas multivm

6 years agovmx(1): don't realloc virtio queues -- breaks pointers
aiju [Mon, 28 Aug 2017 17:19:13 +0000 (17:19 +0000)]
vmx(1): don't realloc virtio queues -- breaks pointers

6 years agosdiahci: Intel 200 Series Chipset Family PCH support (thanks aiju)
cinap_lenrek [Sun, 27 Aug 2017 19:20:20 +0000 (21:20 +0200)]
sdiahci: Intel 200 Series Chipset Family PCH support (thanks aiju)

we used to tweak arround in the ICH registers for all intel controllers,
which is wrong, as the 200 series has different magic registes. see
the datasheet:

https://www.intel.com/content/www/us/en/chipsets/200-series-chipset-pch-datasheet-vol-2.html

this caused the clocks to be disabled for the 6th port causing a full
machine lockup touching the 6th port registers.

the next problem was that aiju's bios disabled the unused ports somehow
but didnt clear ther PI bits, so that they would stay in Sbist status even
after a port reset. so the port would get stuck in the Dportreset state
forever. the fix for this was to use a one second timeout for the
port reset procedure.

6 years agolibmach: support disassembling from memory
aiju [Thu, 24 Aug 2017 13:02:27 +0000 (13:02 +0000)]
libmach: support disassembling from memory

6 years agovmx(1): VGA framebuffer should be normal memory
aiju [Thu, 24 Aug 2017 09:25:23 +0000 (09:25 +0000)]
vmx(1): VGA framebuffer should be normal memory

6 years agovmx(1): fixed code that assumed uintptr==uvlong
aiju [Thu, 24 Aug 2017 09:01:30 +0000 (09:01 +0000)]
vmx(1): fixed code that assumed uintptr==uvlong

6 years agovmx(1): memory map improvements, x86 simulator for MMIO
aiju [Thu, 24 Aug 2017 08:06:41 +0000 (08:06 +0000)]
vmx(1): memory map improvements, x86 simulator for MMIO

6 years agodevvmx: more efficient data structure for memory map; simplified (more reliable)...
aiju [Thu, 24 Aug 2017 07:53:10 +0000 (07:53 +0000)]
devvmx: more efficient data structure for memory map; simplified (more reliable) step function

6 years agoigfx: fix cdclk and dpll settings for dual channel lvds on sandybridge
qwx [Tue, 22 Aug 2017 21:25:39 +0000 (00:25 +0300)]
igfx: fix cdclk and dpll settings for dual channel lvds on sandybridge

6 years agovt: turn off nl -> nl+cr translation default in raw mode, don't scroll more than...
cinap_lenrek [Tue, 22 Aug 2017 20:48:01 +0000 (22:48 +0200)]
vt: turn off nl -> nl+cr translation default in raw mode, don't scroll more than screen height

6 years agovt: block selection mode for snarf
cinap_lenrek [Sun, 20 Aug 2017 20:18:09 +0000 (22:18 +0200)]
vt: block selection mode for snarf

6 years agomerge
cinap_lenrek [Sun, 20 Aug 2017 17:23:56 +0000 (19:23 +0200)]
merge

6 years agovt: implement /dev/cons and /dev/consctl as a fileserver, winch, incremental redraw
cinap_lenrek [Sun, 20 Aug 2017 17:22:30 +0000 (19:22 +0200)]
vt: implement /dev/cons and /dev/consctl as a fileserver, winch, incremental redraw

we used to bind a pipe to /dev/cons and /dev/consctl with some
shared segment hack to pass tty info arround. now we implement
this as a fileserver.

add support for "winchon"/"winchoff" ctl message to enable interrupt
on window size change. (used by ssh)

keep track of fullscreen scrolls, avoiding redrawing the whole
screen each time.

6 years agossh: issue "winchon" ctl request to /dev/consctl to get interrupt on window size...
cinap_lenrek [Sun, 20 Aug 2017 17:17:46 +0000 (19:17 +0200)]
ssh: issue "winchon" ctl request to /dev/consctl to get interrupt on window size change from vt(1)

6 years agoigfx: add did for x220
qwx [Sun, 20 Aug 2017 10:52:52 +0000 (13:52 +0300)]
igfx: add did for x220

6 years agoigfx: fix sandybridge fdi link training bits and ordering
qwx [Sun, 20 Aug 2017 10:47:01 +0000 (13:47 +0300)]
igfx: fix sandybridge fdi link training bits and ordering

- fix wrong bitfield for txctl (different between snb and ivb),
  and enable tx before rx
- DPLL_CTL_x snb/ivb: don't touch reserved bits

6 years agovmx: allocate sticky instead of more expensive fixed segment
cinap_lenrek [Mon, 14 Aug 2017 02:18:13 +0000 (04:18 +0200)]
vmx: allocate sticky instead of more expensive fixed segment

6 years agovmx: pass multiboot framebuffer info to kernel
cinap_lenrek [Sun, 13 Aug 2017 17:19:55 +0000 (19:19 +0200)]
vmx: pass multiboot framebuffer info to kernel

6 years agoether82563: add more pci ids for i210 and i354 from 9atom / openbsd
cinap_lenrek [Sun, 13 Aug 2017 13:26:24 +0000 (15:26 +0200)]
ether82563: add more pci ids for i210 and i354 from 9atom / openbsd

6 years agoether82563: support for i211 with iNVM. (thanks mfny and brennan for testing)
cinap_lenrek [Sat, 12 Aug 2017 21:36:24 +0000 (23:36 +0200)]
ether82563: support for i211 with iNVM. (thanks mfny and brennan for testing)

6 years agoawk: allow string as exit status
cinap_lenrek [Sat, 12 Aug 2017 19:34:06 +0000 (21:34 +0200)]
awk: allow string as exit status

6 years agoawk: don't get into a infinite loop with eof while in string (thanks BurnZeZ)
cinap_lenrek [Fri, 11 Aug 2017 01:38:10 +0000 (03:38 +0200)]
awk: don't get into a infinite loop with eof while in string (thanks BurnZeZ)

6 years agokernel: double READSTR buffer size to 8000 bytes for devusb
cinap_lenrek [Thu, 10 Aug 2017 23:32:24 +0000 (01:32 +0200)]
kernel: double READSTR buffer size to 8000 bytes for devusb

6 years agodevusb: superspeed bandwidth allocation handled by controller, skip usbload() calculation
cinap_lenrek [Thu, 10 Aug 2017 23:08:13 +0000 (01:08 +0200)]
devusb: superspeed bandwidth allocation handled by controller, skip usbload() calculation

with xhci, bandwidth allocations are handled by the controller
and there are various speed settings possible that currently
not exposed in the Udev. so just keep usbload() as it is for
usb2 and keep ep->load as zero for superspeed.

6 years agonusb/disk: add a 100ms sleep after ums reset, remove unused note handler, cleanup
cinap_lenrek [Thu, 10 Aug 2017 23:00:09 +0000 (01:00 +0200)]
nusb/disk: add a 100ms sleep after ums reset, remove unused note handler, cleanup

my pretec usb stick sometimes hangs on the first inquiry request,
waiting for the inquiry response forever. adding a 100ms delay after
the reset command seems to fix it.

getting rid of unused "ding()" note handler and simplify umsrequest()
incomplete read handling.

6 years agodoom: clean up temporary mus files
qwx [Thu, 10 Aug 2017 15:09:49 +0000 (17:09 +0200)]
doom: clean up temporary mus files

6 years agoadd games/wadfs
qwx [Thu, 10 Aug 2017 09:39:18 +0000 (11:39 +0200)]
add games/wadfs

6 years agovt: fix silly bug causing characters be drawn one at a time
cinap_lenrek [Wed, 9 Aug 2017 16:53:48 +0000 (18:53 +0200)]
vt: fix silly bug causing characters be drawn one at a time

6 years agosysinfo: run aux/icanhasvmx with verbose flag
cinap_lenrek [Tue, 8 Aug 2017 17:02:42 +0000 (19:02 +0200)]
sysinfo: run aux/icanhasvmx with verbose flag

6 years agosysinfo: only dump #r/nvram on amd64,386
cinap_lenrek [Tue, 8 Aug 2017 08:16:13 +0000 (10:16 +0200)]
sysinfo: only dump #r/nvram on amd64,386

right now, theres no kernel that stores hostowner keys
in #r/nvram, but this could change in the future. so
only dump #r/nvram on the pc where we know that its
not used to hold keys.

6 years agovmx: fix hlt idle problem
cinap_lenrek [Mon, 7 Aug 2017 17:10:32 +0000 (19:10 +0200)]
vmx: fix hlt idle problem

6 years agousbxhci: implement recovery from host controller errors
cinap_lenrek [Sun, 6 Aug 2017 23:59:54 +0000 (01:59 +0200)]
usbxhci: implement recovery from host controller errors

6 years agoinst: don't hardcode /net/ether0, might have usb ethernet
cinap_lenrek [Sat, 5 Aug 2017 12:30:48 +0000 (14:30 +0200)]
inst: don't hardcode /net/ether0, might have usb ethernet

6 years agoinst: get rid of ppp configuration
cinap_lenrek [Fri, 4 Aug 2017 12:18:40 +0000 (14:18 +0200)]
inst: get rid of ppp configuration

6 years agoinst: get rid of halt, just run fshalt in finish directly
cinap_lenrek [Fri, 4 Aug 2017 12:17:29 +0000 (14:17 +0200)]
inst: get rid of halt, just run fshalt in finish directly

6 years agoinst: post newfs fileservers under /srv/$fstype.newfs to avoid conflict with preexist...
cinap_lenrek [Fri, 4 Aug 2017 12:16:07 +0000 (14:16 +0200)]
inst: post newfs fileservers under /srv/$fstype.newfs to avoid conflict with preexisting local filesystem

6 years agocwfs: -n always overrides postservice() name, no matter if config mode changes service
cinap_lenrek [Fri, 4 Aug 2017 12:12:02 +0000 (14:12 +0200)]
cwfs: -n always overrides postservice() name, no matter if config mode changes service

6 years agoetheriwl: add pci id for Intel Centrino Advanced-N 6200 on x201 tablet (thanks arpunk)
cinap_lenrek [Thu, 3 Aug 2017 21:15:58 +0000 (23:15 +0200)]
etheriwl: add pci id for Intel Centrino Advanced-N 6200 on x201 tablet (thanks arpunk)

6 years agousbxhci: handle out of memory in controller initialization
cinap_lenrek [Wed, 2 Aug 2017 19:17:50 +0000 (21:17 +0200)]
usbxhci: handle out of memory in controller initialization

6 years agousbxhci: abandon multiple requests per endpoint, cleanup
cinap_lenrek [Wed, 2 Aug 2017 18:25:19 +0000 (20:25 +0200)]
usbxhci: abandon multiple requests per endpoint, cleanup

more conservative approach: only one transaction in flight
per endpoint (except iso). also serialize controller commands.
no driver currently uses this and i doubt it is usefull.

create constants for common TRB flags and remove bogus 1<<16
flag on TR_NORMAL.

6 years agousbxhci: have to serialize and set read pointer for endpoint stop command
cinap_lenrek [Tue, 1 Aug 2017 23:45:30 +0000 (01:45 +0200)]
usbxhci: have to serialize and set read pointer for endpoint stop command

6 years agodisk/edisk: add some headroom in the type table for dynamic entries
cinap_lenrek [Tue, 1 Aug 2017 00:22:01 +0000 (02:22 +0200)]
disk/edisk: add some headroom in the type table for dynamic entries

6 years agodisk/edisk: add more partition type uuid's from wikipedia (thanks qeed)
cinap_lenrek [Tue, 1 Aug 2017 00:08:58 +0000 (02:08 +0200)]
disk/edisk: add more partition type uuid's from wikipedia (thanks qeed)

6 years agousbohci, usbehci, usbxhci: save mmio base address in ctlr, cant PADDR() on 386...
cinap_lenrek [Mon, 31 Jul 2017 15:36:56 +0000 (17:36 +0200)]
usbohci, usbehci, usbxhci: save mmio base address in ctlr, cant PADDR() on 386...

6 years agousbxhci: provide shutdown function to halt the controller
cinap_lenrek [Mon, 31 Jul 2017 14:05:58 +0000 (16:05 +0200)]
usbxhci: provide shutdown function to halt the controller

6 years agonusb/*: cleanup
cinap_lenrek [Mon, 31 Jul 2017 13:29:08 +0000 (15:29 +0200)]
nusb/*: cleanup

6 years agonusb/usbd: support for usb3 hubs
cinap_lenrek [Mon, 31 Jul 2017 12:38:39 +0000 (14:38 +0200)]
nusb/usbd: support for usb3 hubs

6 years agolibregexp: fix lexer so it doesnt move past the string when it gets a \ escape
cinap_lenrek [Mon, 31 Jul 2017 04:56:22 +0000 (06:56 +0200)]
libregexp: fix lexer so it doesnt move past the string when it gets a \ escape

6 years agoxhci: experimental usb3 support
cinap_lenrek [Mon, 31 Jul 2017 01:22:23 +0000 (03:22 +0200)]
xhci: experimental usb3 support

6 years agonusb/usbd: create endpoint files for conf #1, usb3 preparation
cinap_lenrek [Mon, 31 Jul 2017 01:19:24 +0000 (03:19 +0200)]
nusb/usbd: create endpoint files for conf #1, usb3 preparation

6 years agousbehci: fix crash in cancelisoio() for highspeed device due to wrong pollival
cinap_lenrek [Mon, 31 Jul 2017 01:07:14 +0000 (03:07 +0200)]
usbehci: fix crash in cancelisoio() for highspeed device due to wrong pollival

6 years agopc, pc64: enable usbxhci in the configuration
cinap_lenrek [Fri, 28 Jul 2017 23:15:05 +0000 (01:15 +0200)]
pc, pc64: enable usbxhci in the configuration

6 years agousbxhci: simplify xecp()
cinap_lenrek [Fri, 28 Jul 2017 23:12:32 +0000 (01:12 +0200)]
usbxhci: simplify xecp()

6 years agousbxhci: implement controller handoff, ignore usb3.0 ports, honor pollival for isochr...
cinap_lenrek [Fri, 28 Jul 2017 23:02:23 +0000 (01:02 +0200)]
usbxhci: implement controller handoff, ignore usb3.0 ports, honor pollival for isochronous endpoints

6 years agousbxhci: basic iso write support (usb soundcard playback)
cinap_lenrek [Mon, 24 Jul 2017 21:48:50 +0000 (23:48 +0200)]
usbxhci: basic iso write support (usb soundcard playback)

6 years agousb: fix wrong pollival calculation in setmaxpkt()
cinap_lenrek [Mon, 24 Jul 2017 21:47:55 +0000 (23:47 +0200)]
usb: fix wrong pollival calculation in setmaxpkt()

6 years agousbxhci: handle changing maxpkt on control endpoint by reevaluating endpoint context
cinap_lenrek [Sat, 22 Jul 2017 17:35:32 +0000 (19:35 +0200)]
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.

6 years agousbxhci: use physical register addresses for matcing controllers and printing. simpli...
cinap_lenrek [Sat, 22 Jul 2017 14:37:05 +0000 (16:37 +0200)]
usbxhci: use physical register addresses for matcing controllers and printing. simplify endpoint slot initialization.