Commit graph

3800 commits

Author SHA1 Message Date
aiju
cca3ad2453 games/c64: oops 2015-02-07 18:11:19 +01:00
aiju
f6eacf471e added games/c64 2015-02-07 18:03:17 +01:00
cinap_lenrek
8ac5227a36 zynq: fix print format warning in screeninit() 2015-02-07 03:24:07 +01:00
cinap_lenrek
e8760ba636 kernel: make pagereclaim() a bit less stupid
put recently used pages at the head of ther image hash
chains, and reclaim pages from the tail first.
2015-02-07 03:01:59 +01:00
cinap_lenrek
b8cf3cb879 kernel: reduce Page structure size by changing Page.cachectl[]
there are no kernels currently that do page coloring,
so the only use of cachectl[] is flushing the icache
(on arm and ppc).

on pc64, cachectl consumes 32 bytes in each page resulting
in over 200 megabytes of overhead for 32gb of ram with 4K
pages.

this change removes cachectl[] and adds txtflush ulong
that is set to ~0 by pio() to instruct putmmu() to flush
the icache.
2015-02-07 02:52:23 +01:00
cinap_lenrek
f215b660b3 fplot: add modulus % operator 2015-02-05 19:55:46 +01:00
cinap_lenrek
6409684518 libsec: add TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA client cipher suit support 2015-02-05 04:29:28 +01:00
cinap_lenrek
30871030f5 aux/vga: remove vbs/vbe from mode, use shs/ehs when sync is ment, prefer detailed timing in edid
vbs/vbe members in Mode was only used in the vesadb
and cannot be changed from vgadb.

use shs/ehs in drivers when refering to the horizontal
sync pulse. clarify the matter in a comment.

link detailed timing modes at the head of the edid
modelist. these are the modes we'r interested in,
not the ones from vesadb.
2015-02-05 23:08:46 +01:00
stanley lieber
b41ca13526 fortunes: The NTP codebase is larger than the SSH codebase. 2015-02-02 21:30:07 -05:00
cinap_lenrek
01762349bd aux/vga: fix mistale :-) 2015-02-02 03:05:56 +01:00
cinap_lenrek
8067368e10 aux/vga: use optional edid information to determine mode when vgadb fails
igfx and vesa can determine monitor timing information from ddc
and store the edid info for connected monitors in vga->edid[].
when monitor type cannot be found in vgadb, we consult the edid
information and make a mode based on the edid info.

this avoids having to maintain a vgadb entry for each monitor.

monitor can be set to "[width]x[height]@[freq]Hz" for a specific
edid setting. when not found, a mode is searched based on the
size.

so the following should work:

aux/vga -m 1366x768@60Hz -l 1366x768x32
aux/vga -m auto -l 1366x768x32
2015-02-02 02:58:59 +01:00
cinap_lenrek
e34fa15921 aux/vga: cleanup vesa code
dbvesamode() modified the passed in size string in the process
of option parsing. this is a no-go because the string might be
constant in the read only section. provide cracksize() function
for the parsing and make a static copy.

do the vendor specific monitor detection in vbesnarf() instead
of vbecheck(). vbecheck()'s purpose is to check if vesa bios
service is avialable, not snarf graphics card state.

nvidiascale() was a no-op because it missed the vbecall() at
the end of the function. this means it was never tested so i
add the missing vbecall(), but disable nvidiascale for now
until someone tests this.

keep fancy stuff out of the Vbe structure. it is just there for
making bios calls, not keep state about the graphics card.
2015-02-01 19:28:24 +01:00
cinap_lenrek
7fbed4d635 mothra: people do not like it. reverting 2015-01-31 20:18:45 +01:00
cinap_lenrek
3ce514ca0a mothra: wrap long text and images to fit 2015-01-31 20:01:24 +01:00
cinap_lenrek
b76b5901ff kernel: increase size of palloc.mem[] user page bank array
we'r hitting the limit of user page banks on some asrock mainboard,
so doubling the size of the array twice to make running out unlikely.
2015-01-30 14:50:28 +01:00
cinap_lenrek
d21af17367 wifi: fix recvbeacon()
we used to read beyond the boundaries of the becon because of
the end pointer was offset by the beacon header. this is
also what caused the double entries.
2015-01-30 13:41:23 +01:00
cinap_lenrek
18b931dde7 wifi: ignore truncated tlv in beacon/probes 2015-01-30 02:00:07 +01:00
cinap_lenrek
0c7d5168c3 factotum(4): fix typo 2015-01-29 14:11:43 +01:00
cinap_lenrek
4442e0e1d5 factotum(4): document mschapv2 and wpapsk protocols 2015-01-29 13:57:27 +01:00
cinap_lenrek
bb3db0d568 tftpfs(8): fix manpage reference dhcp(8) -> dhcpd(8) 2015-01-29 13:21:12 +01:00
cinap_lenrek
9532b43d32 ircrc(1): tlsclient(8) -> tlssrv(8) 2015-01-29 13:17:34 +01:00
cinap_lenrek
6f9d8697f6 6in4(8): document ayiya 2015-01-29 13:16:08 +01:00
cinap_lenrek
a535870669 ircrc(8), ndb(8): fix manpage reference 2015-01-29 12:36:14 +01:00
cinap_lenrek
e823ddb3b0 devmnt: handle rpc buffer exhaustion on mntflushalloc()
this bug happens when the kernel runs out of mount rpc
buffers when allocating a flush rpc. in this case, mntflushalloc()
will errorjump out of mountio() leaving the currently in
flight rpc in the mount. the caller of mountrpc()/mountio()
frees the rpc thats still queued in the mount leaving
to interesting results.

for the fix, we add a waserror() arround mntflushalloc() and
handle the error case like a mount rpc failure which will
properly dequeue the rpc's in flight.
2015-01-27 22:14:26 +01:00
cinap_lenrek
72be22cd3a wpa: fix password avp padding, recognize wpa1 authentication oui
we have to padd the data portion in the password avp,
not add padding after the avp.
2015-01-27 14:09:24 +01:00
cinap_lenrek
a342e5ac5d wpa: do not forward alert tls records, close connection 2015-01-27 10:56:56 +01:00
mischief
3440516e04 pc, efi loaders: erase characters when backspace is pressed 2015-01-25 17:21:07 -08:00
cinap_lenrek
5fc2f6af6c wpa: cleanup, pad eap-ttls/pap password, zero passwords and key material after use 2015-01-26 01:26:42 +01:00
cinap_lenrek
5a0c34e9fb wpa: experimental wpa2 enterprise support
this adds support for eap-peap/mschapv2 and eap-ttls/pap.

code has only been tested with freeradius and a cheap
access point, not tested with actual eduroam network.
2015-01-25 07:58:20 +01:00
cinap_lenrek
5649042bff factotum: implement proto=mschapv2 client role
this is used for wpa2 enterprise peap/mschapv2. server role
is not implemented as that would require changing the
wire format on the auth server.

the naming is unfortunate as we already have proto=mschap2 which
really refers to ntlmv2.
2015-01-25 07:49:50 +01:00
cinap_lenrek
91d3af942a auth(2): fix prototype for auth_getinfo() in manual page 2015-01-25 07:40:52 +01:00
cinap_lenrek
3d4d594049 pc: dont handle pending floating point exception in fpsave thru FPOFF
the FPOFF macro that follows the FXSAVE/FSAVE instructions in l.s
used to execute WAIT instruction when the TS flag was not set. this
is wrong and causes pending exceptions to be raised from fpsave which
is called from provsave() which holds up->rlock making it deadlock
when matherror() tries to postnote() to itself.

so making FPOFF non-waiting (just set TS flag).

we handle pending exception when restoring the context.
2015-01-23 14:01:56 +01:00
cinap_lenrek
8b95dad208 libdraw: fix broken eenter()
eenter would go into a endless loop in the redraw avoidance case
because the label was misplaced.
2015-01-18 10:34:05 +01:00
cinap_lenrek
c4170c5052 igfx: remove hardware cursor support for X60t, does not work 2015-01-17 05:14:23 +01:00
cinap_lenrek
0c91d121f0 igfx: fix wrong cursor position register address 2015-01-17 04:00:36 +01:00
cinap_lenrek
66d0bb89a4 iwl: add "reset" ctl message to software tigger device reset 2015-01-17 01:52:24 +01:00
cinap_lenrek
22d15f98ba igfx: determine amount of preallocated stolen graphics memory for hw cursor
allocate the hardware cursor plane at the end of
preallocated stolen graphics memory.
2015-01-16 13:38:52 +01:00
cinap_lenrek
5e50b13d34 devvga: use uintptr for VGAscr.paddr and VGAscr.storage
some vga drivers use virtual addresses in VGAscr.storage,
so has to be uintptr sized for amd64.
2015-01-16 11:36:11 +01:00
cinap_lenrek
6afce2e422 igfx: support for X60t with 1400x1050 panel
program secret plane size and position registers described as "reserved"
in g45_vol_3_register_0_0.pdf that was found by inspecting vesa bios
port traces.

also, we have to set 18:19 (Cursor/Dispaly/Overlay Planes Off) in
PIPExCONF while programming the planes on this card. this is what
vesa bios does on modeset.
2015-01-16 07:55:38 +01:00
cinap_lenrek
511cee2f22 webcookies: only sync the jar when dirty on clunk
avoid sync the jar file when fids get clunked.
the only reason to sync the jar on clunk is when it has
been marked dirty (cookies added or deleted) and we
want to flush the changes to disk.
2015-01-16 04:46:52 +01:00
cinap_lenrek
e41faad5a6 webcookies: avoid rereading and rewriting the cookie jar file all the time, dont return deleted cookies on search
- rewrite when jar->dirty != 0 (caller modified the in memory jar)
- reread when the jar->qid != stat(jar->file)->qid (on disk file changed)
- ignore deleted cookies in cookiesearch()
2015-01-16 04:04:55 +01:00
cinap_lenrek
d115bd0e20 igfx: cursor/plane pipe assign is G45 only, add magic dsp a toggle from enable sequence 2015-01-13 18:04:33 +01:00
cinap_lenrek
9f11d4f689 kbfds: delete autogenerated latin1.h file when mklatin fails 2015-01-13 00:19:18 +01:00
stanley lieber
fff822849f plan9.ini(8) man page: update links to iwn and ral firmware blobs 2015-01-12 14:23:32 -05:00
cinap_lenrek
140f7b7fef igfx: set the display/overlay/cursor plane override disbale bits for G45 (like bios) 2015-01-12 16:52:49 +01:00
cinap_lenrek
54a1db15dc igfx: fix typo, initialize more lvds bits for G45, T60 testing 2015-01-12 16:40:02 +01:00
cinap_lenrek
24d693348a igfx: reverting previous change, pci id is for the second graphics controller pci device 2015-01-12 04:07:16 +01:00
cinap_lenrek
ce69208641 igfx: support for X200 (thanks bigato) 2015-01-12 03:09:58 +01:00
cinap_lenrek
90c1959fc4 igfx: properly turn vga monitor off 2015-01-12 02:10:00 +01:00
cinap_lenrek
34f2e1eaf6 igfx: aaand vga support for x200s :-) 2015-01-12 02:04:13 +01:00
cinap_lenrek
9b28b2d97b igfx: vga support on x230, fix fdi link setup, LG Flatron L1730P vgadb entry 2015-01-12 01:51:51 +01:00
cinap_lenrek
773f1c5f6a fix missing games/gba target in mkfile (thanks qu7uux) 2015-01-12 00:02:15 +01:00
cinap_lenrek
01a1d96315 igfx: only use mmio... left from debugging 2015-01-11 04:03:14 +01:00
cinap_lenrek
21b0bafd10 igfx: cleanup 2015-01-11 03:44:56 +01:00
cinap_lenrek
b4fcd2d68f merge 2015-01-11 03:37:07 +01:00
cinap_lenrek
2cdadb1b2f igfx: get edid information from lvds 2015-01-11 03:35:30 +01:00
mischief
a4650bdf83 ip/ipconfig: set ndb database file with -f argument 2015-01-10 11:27:45 -08:00
stanley lieber
4dfcb4791b xargs(1) man page: rewritten -> implemented 2015-01-10 13:48:18 -05:00
stanley lieber
cbca753f00 xargs(1) man page: add HISTORY (thanks, jpm_) 2015-01-10 13:46:47 -05:00
cinap_lenrek
6e67b04a1f igfx: use mmio to access registers instead of pio, fix wrong igfxmmio segment size
initially, pio was used to access registers so i didnt need
a kernel driver for initial testing.

pio does not work under efi, so use mmio to access registers.
2015-01-10 03:07:29 +01:00
cinap_lenrek
7c3736a16a merge 2015-01-10 02:16:50 +01:00
cinap_lenrek
8d8935618c igfx: perserve frame start delay "magic" bits 27:28 in pipe conf register
it turns out, the "magic" bits 27:28 are the frame start
delay setting that need to be preserved.
2015-01-10 02:15:30 +01:00
mischief
f6a9db1bd9 libdraw: don't redraw input box in enter/eenter when mouse is moved outside the rectangle
prevents some flickering when devdraw is used over a high latency connection.

Fixes issue 236
2015-01-09 15:41:00 -08:00
cinap_lenrek
15590e39c6 igfx: implement hardware cursor
this can even be used with the vesa driver, just
enable the cursor after mode switch like:

echo hwgc igfxhwgc >/dev/vgactl
2015-01-09 22:23:25 +01:00
cinap_lenrek
cf76346b37 igfx: fix some comments 2015-01-09 03:18:44 +01:00
cinap_lenrek
35ad5c9136 igfx: aaaand the kernel part :( 2015-01-09 03:03:23 +01:00
cinap_lenrek
ce8db466ba igfx: just kidding, heres the code :) 2015-01-09 02:58:14 +01:00
cinap_lenrek
6fe180657f igfx: work in progress intel graphics driver
this driver can modeset lvds on x200s and x230.
everything else is completely untested.
no hardware cursor implemented.
no vgadb entries are provided.
2015-01-09 02:55:12 +01:00
cinap_lenrek
212db4135d merge 2015-01-09 02:45:14 +01:00
mischief
97d6d9ddaa vncs: add -A for no auth to usage 2015-01-06 20:13:16 -08:00
mischief
1bd467fc0e vncs: turn off auth with -A, do not require -c for -x 2015-01-05 20:21:40 -08:00
mischief
654450bc1d vnc: put newlines in verbose messages 2015-01-05 20:02:01 -08:00
cinap_lenrek
ef9c5b4cc7 pool: more strict checktree() for poolcheck
check that Free.next and Free.prev pointers are not nil.

check that Free.left and Free.right are Poison in non-tree nodes.

check that Free.left and Free.right are *not* Poison in tree nodes.

change Poison to 0xffffffffcafebabe for 64bit machines.
2015-01-05 14:23:01 +01:00
cinap_lenrek
384d4d2d62 sdide: add vid/did for 82801IIH Intel Q35 IDE controller (thanks kenji) 2015-01-04 12:49:44 +01:00
cinap_lenrek
5b24195a0a sdiahci: sanitize ahci pci bar
make sure the ahci pci bar is not in i/o space and has
the right size. also make sure Aport registers are within
the ahci bar range.
2015-01-04 04:26:58 +01:00
cinap_lenrek
b5008f3b56 devvga: disable hardware blanking when switching drivers, check softscreen
we have to reset hwblank when switching drivers to
prevent the generic vgablank() to be called by
blankscreen().

remove code setting hwblank from vga drivers as
devvga will always force hwblank to be 1 or 0
depending on if the driver provides a native blanking
routine.

set hwaccel to 1 when the driver provides native fill
and scroll routines independent of softscreen being
disabled. this allows hw acceleration to be used when
softscreen gets switched off.
2015-01-03 18:33:35 +01:00
mischief
1b4b4e89aa bin(2): fix tab formatting 2014-12-31 23:45:05 -08:00
ftrvxmtrx
a053d902db aux/realemu: remove unused global 2015-01-02 19:07:40 +01:00
ftrvxmtrx
753bb6b87a aux/vga: revert vbegetmode 2015-01-02 19:07:01 +01:00
cinap_lenrek
68b8351f8c devdraw: remove broken color palette blanking
the code did not work as drawactive() was called with
the drawlock held. instead of fixing, the code for
palette blanking has been removed.
2015-01-02 18:48:22 +01:00
cinap_lenrek
6cb93914f2 devvga: better way to prevent blank hwaccel race
don't hold drawlock duing vga enable and disable, but just zero
the function pointers under drawlock *before* disabling the vga
device.

holding the drawlock while calling out into enable and disable
is not a good idea. with vgavesa, this might deadlock when
userspace realemu tries to print in a rio window with vgavesa.
2015-01-02 17:07:47 +01:00
cinap_lenrek
9aec87c46c vgavesa: get rid of the vesa kproc
in 9front, screen blanking is always initiated from process context,
so there is no need for a kproc anymore.

care has been taken for the race between vesadisable() and vesablank()
by acquiering the drawlock prior calling scr->dev->enable() and
scr->dev->disable(). this also has the side effect of accelerated
fills and scrolls not being called during device disable.
2015-01-02 15:29:15 +01:00
ftrvxmtrx
7848fe5970 aux/vga: do not set mode 3 unless connected 2015-01-02 13:29:58 +01:00
ftrvxmtrx
8b9badd6a6 aux/vga: fix switching with different mode
Prior to switching display, switch to text mode 3, which
is supported by anything, then set display, search for the
desired mode, load it if found. If not found, set the display
to the old one and switch to the old mode back.
2015-01-02 13:24:27 +01:00
cinap_lenrek
96595f5101 nedmail: do not recursively plumb email multipart attachments in print command 2015-01-02 12:05:35 +01:00
ftrvxmtrx
c5da8810ee nusb/kb: fix alt/altgr being swapped for some reason 2015-01-01 22:53:17 +01:00
ftrvxmtrx
f1b1e0d637 aux/vga: display switching for Intel adapters
Magic was discovered by abusing INT 10 on several machines
while switching cables back and forth and watching the end result.
2015-01-01 16:19:24 +01:00
cinap_lenrek
9e45c8bc9b zynq: differentiate various pagefault types in faultarm() 2015-01-01 11:32:00 +01:00
ftrvxmtrx
04efb3a4a3 tcs: update charsets. Fixes issue #214 2015-01-01 11:20:23 +01:00
cinap_lenrek
6adf8466a2 hjfs: fix missing superblock dirty mark when reaming 2015-01-01 23:18:07 +01:00
aiju
941912f5ff hjfs: make -m default 4 MB instead of 40 KB 2014-12-31 20:04:10 +01:00
cinap_lenrek
cdf7520738 zynq: enable branch prediction 2014-12-30 15:49:44 +01:00
cinap_lenrek
080cc49f50 zynq: implement µs() 2014-12-30 15:17:27 +01:00
cinap_lenrek
ed294a65cb zynq: enable prefetch hints and drop-prefetch 2014-12-30 15:16:46 +01:00
cinap_lenrek
9f880e595c libmemdraw: never point Buffer.alpha to nil (thanks mischief)
the boolcopy optimization doesnt doesnt use Buffer.alpha, tho
the debug function dumpbuf() still can dereference it. to keep
it simple, always have Buffer.alpha point to the channel or
&ones when not used.
2014-12-30 12:44:42 +01:00
ftrvxmtrx
5935eeb6de aux/vga: scale only if mode was set successfully 2014-12-29 16:43:33 +01:00
cinap_lenrek
11b5e0ac14 merge 2014-12-29 16:06:57 +01:00
cinap_lenrek
cb2103879e zymq: lilu dallas, multicore
implement multiprocessor support.
2014-12-29 16:02:57 +01:00
cinap_lenrek
e08cc06517 add games/md to /sys/src/games/mkfile 2014-12-29 11:55:51 +01:00
ftrvxmtrx
774065caaa aux/vga: rescale after loading new mode
Intel VBIOS seem to not update its state unless in graphical
mode, so set the scaling mode after loading new graphical mode.
2014-12-29 10:06:29 +01:00