Age | Commit message (Collapse) | Author |
|
|
|
compatibility forever.
|
|
|
|
|
|
Add some checks in the interrupt handler to ensure
that the slot and ring referred to by the event have
been initialized.
Also add a check in ctlrcmd() just in case we mess
up the recovery and someone issues a ctlrcmd() after
a failed xhciinit().
|
|
check error for devread() and do some sanity checking
on the constants and dont leak the Dosbpb when error.
|
|
When a ring wraps around, we need to program a wrap around
td with the base address. To get the base, we need to call
Ctlr.dmaaddr() and we used the slot->ctlr pointer to get to
it.
But the command ring has no slot associated to it so we would
crash as soon as we tried to submit more than 256 controller
commands.
The solution is to put a ctlr pointer into the Ring structure,
which also allows us to simplify resetring() and waittd()
as they now can get the controller implicitely thru the ring
pointer.
|
|
|
|
The iotrack buffer layer always assumed 512 byte sector
size and 9 sectors per track.
To support 4K sector size fats, make the iotrack code
deal with it.
Instead of the fixed size Track structure, we just allocate
the pointers and buffers dynamically, and move the sector
size and tack size in the Xfs structure.
Tracks can still be reused between differnet file-systems
after a purgetrack().
The initial fat header has to be read with devread()
instead of getsect() to determine the sector/track size
of the file-system.
|
|
This patch more fully implements the training patterns for DP 1.2 per the spec,
which then allows more monitors to successfully train and therefore connect. In
my case it was an LG 34UM68-P.
Secondly, this fixes EDID shifting to work with a wider range of values, notably
ones which wrap.
Lastly, a small correction in vesa.c as to which bits are used to determine
available connections.
|
|
|
|
終了 is more appropriate then 出口 in this context.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
tested with 6205
|
|
|
|
|
|
|
|
https://offsec.almond.consulting/ghostscript-cve-2023-28879.html
https://git.ghostscript.com/?p=ghostpdl.git;h=37ed5022cecd584de868933b5b60da2e995b3179
|
|
|
|
Generalize the arp proxy code, so one can create
specific routes for ip ranges that we want to arp
proxy for, not just for point-to-point interface
routes.
as we have source specific routes, this also
gives some control over which requester we will
reply to.
one example for this is a vps where we booked
another ip address on the ethernet, that we want
to route into a vpn tunnel. the new ip is in
subnet of the public ethernet interface, so all
we now need todo is add a route for that ip into
the vpn tunnel and set the proxy flag "y", and
we will respond to arp for that ip on the public
ethernet interface.
|
|
hostower => hostowner, introduced in 99ed9623b5.
|
|
(thanks k0ga)
The first usb transaction we run on a device is reading the
device descriptor, but todo this we need to know the maximum
packet size on the control endpoint.
But the packet size itself is stored in the device descriptor
which needs to be read over the control endpoint.
We used to fetch up to 64 bytes of device descriptor, and
if that fails assume some default values.
But this seems to cause errors down the line for some devices
like k0gas usb keyboard.
The new way is to read *ONLY* the first 8 bytes (that contain
the bMaxPktSize0 field) and fetch the full device descriptor
later once we have set the correct packet size.
|
|
|
|
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.
|
|
This is intended for the secrmem pool in the kernel,
but could also be used for temporary pools to
recover the memory used by the arenas.
|
|
echo 'a' | awk 'BEGIN { getline l; getline l; print (s=substr(l,1,10)) " len=" length(s) }'
https://github.com/onetrueawk/awk/commit/1debe1993fc852545a9215621d884be27f08a223
|
|
awk 'BEGIN { while(++i <= 100000) { mem = "ps | grep awk"; printf("%d", 1+2, 3+4, 5+6, 7+8, 9+0) > "/dev/null"; if(i % 10000 == 0) system(mem) }}'
https://github.com/onetrueawk/awk/commit/821c502359855d0c43be8e9b08f037ecb543d310
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
While a previous commit attempted to address the issues of a
; cd /sys/src/ && mk nuke && mk install
it seems that any kind of automatic detection for when to
rebuild will blow up in someones face. I am moving this to
an explicit virtual rule, the generated files are expected
to be there.
|
|
|
|
This alleviates a few decomposed pjws.
|
|
|
|
|
|
|
|
While mkfiles will properly build them, if a user does
; cd /sys/src && mk nuke && mk install
without libc there, you will not be able to build
mkrunetype.c in order to generate these data files.
Let's not make this more complicated.
|
|
this change broke the fix from 49d7ca8d92e5667f3e5ece4c6acbc1064701e2f8
|
|
|