Commit graph

4269 commits

Author SHA1 Message Date
cinap_lenrek
995379e388 usbehci: initial support for usb on zynq, remove uncached.h
the following hooks have been added to the ehci Ctlr
structore to handle cache coherency (on arm):

	void*	(*tdalloc)(ulong,int,ulong);
	void*	(*dmaalloc)(ulong);
	void	(*dmafree)(void*);
	void	(*dmaflush)(int,void*,ulong);

tdalloc() is used to allocate descriptors and the periodic
frame schedule array. on arm, this needs to return uncached
memory. tdalloc()ed memory is never freed.

dmaalloc()/dmafree() is used for io buffers. this can return
cached memory when when hardware maintains cache coherency (pc)
or dmaflush() is provided to flush/invalidate the cache (zynq),
otherwise needs to return uncached memory.

dmaflush() is used to flush/invalidate the cache. the first
argument tells us if we need to flush (non zero) or
invalidate (zero).

uncached.h is gone now. this change makes the handling explicit.
2015-02-14 03:00:31 +01:00
cinap_lenrek
6b2d1f0186 zynq: do fixed mapping for ocm memory on boot and make kaddr() and paddr() work with it
map the whole ocm memory on boot so we can translate physical to
virtual addresses and back for uncached memory using KADDR() and
PADDR().

replace ualloc() with ucalloc() returning virtual address. physical
address can be acquired with PADDR() now.

as ocm is now always mapped, use KADDR() instead of tmpmap() for
mp bootstrap.
2015-02-14 02:44:19 +01:00
cinap_lenrek
48c5cf1f11 ircrc: dont require nick and user to be the same for auth/userpasswd (thanks spew) 2015-02-12 18:40:20 +01:00
cinap_lenrek
3805e56edc ircrc(1): remove auth/userpasswd complaint from BUGS section 2015-02-12 18:24:41 +01:00
cinap_lenrek
92602d08d6 build and document auth/userpasswd 2015-02-12 18:18:34 +01:00
cinap_lenrek
8b57e59ea9 libc: check name in getvent()/putenv()
passing "", "." or ".." as name caused a crash in
getenv() as it would open the directory; then seek()
to determine the file size would fail and return -1.

now checking for these special names and set
error string when its bad.

doing a single read() will not work when /env has a
9p fileserver mounted onto it and the file size is bigger
than the i/o unit. so doing incremental reads until
we get eof.
2015-02-11 23:54:28 +01:00
cinap_lenrek
21570a4719 igfx: displayport support for ivy bridge 2015-02-09 19:17:04 +01:00
stanley lieber
20f2add592 mothra: add side scrolling, controlled by left and right buttons on the keyboard. if desired, x-scrollbar can be set visible via the visxbar variable in mothra.c. (thanks, jpm_) 2015-02-08 13:19:47 -05:00
stanley lieber
b2c2d1ed2a vga/igfx: add 0x2a02 for GM965/GL960/X3100; comment vid/did with name of chipset 2015-02-07 01:12:46 -05:00
stanley lieber
92d75fe03f vgadb: add vid=0x8086 did=0x2a02 for Intel GM965/GL960/X3100; comment recent igfx ctlr definitions with the names of specific chipsets instead of the model numbers of laptops they may ship in 2015-02-07 01:10:35 -05:00
stanley lieber
cab445eb62 pc64: enable uartisa in default config 2015-02-07 01:01:11 -05:00
aiju
dc506ad17e games/c64: map : to \ key 2015-02-07 18:55:03 +01:00
aiju
0ac099e6b4 games/c64: fix -2/-3 2015-02-07 18:28:55 +01:00
aiju
be3db32338 games/mkfile: add c64 2015-02-07 18:12:06 +01:00
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
8635cc20b1 vgadb: use X60t without hardware cursor (broken currently) 2015-01-17 05:15:59 +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