Commit graph

3534 commits

Author SHA1 Message Date
cinap_lenrek 972577b61e strcat(2): fix strchr() and strrchr() function prototypes (thanks BurnZeZ) 2014-12-07 14:26:41 +01:00
mischief 1fe69754b6 pc, pc64: add and enable ethervirtio driver
many thanks to cinap_lenrek, erik quanstrom and david du colombier for feedback and testing.
2014-12-06 22:13:44 -08:00
mischief e584f7f374 resize: fix typo 2014-11-26 19:32:16 -08:00
mischief 250e120400 astro: fix typo 2014-11-26 18:56:00 -08:00
cinap_lenrek 97e7b5f71d games/md: fix interlace at scale 2 2014-11-22 20:35:28 +01:00
aiju 41ef4524ab games/md: interlacing, sort of 2014-11-22 19:40:36 +01:00
cinap_lenrek f55c43fe8d audio(1): add mixfs to NAME section 2014-11-22 18:17:06 +01:00
cinap_lenrek af8657b8da pc, pc64: more conservative pcirouting
when we hit a conflict where the pci INTL register gives us
a different irq than we get from southbridge irq router, dont
just change the router setting to the bios assigned irq (that
was previously known as the BIOS workarround), but assume the
southbridge setting to be valid and change the pci INTL register
on the device to it.

only when the router link doesnt seem to be configured or
disabled, then program the router to the irq that bios asisgned
in the INTL register.

the reason is that changing the router setting changes the
irq routing for *all* devices on the same link and changing
it breaks previously checked and valid interrupt routings.
(so happend with virtualbox where the last device on the bus
is some powermanagement device that has wrong INTL setting
and changing the routing breaks the ethernet interrupts)

this change shouldnt affect modern machines which use ioapic
and mp tables or acpi for pci interrupt routing.
2014-11-22 17:23:46 +01:00
cinap_lenrek 529082d34d pc, pc64: preserve last KB of conventional memory (might contain bios tables)
we add new function convmemsize() that returns the size of
*usable* conventional memory that does some sanity checking
and reserves the last KB below the top of memory pointer.

this avoids lowraminit() overriding potential bios tables
and sigsearch() going off the rails looking for tables
at above 640K.
2014-11-20 19:05:43 +01:00
cinap_lenrek 5a6131ea09 games/snes: do message display in screenproc
do the message drawing from the screenproc so there are no
race conditions with libdraw.
2014-11-20 01:26:31 +01:00
cinap_lenrek dc2c8dca5b games/md, games/snes: fix memory leak on resize 2014-11-19 21:01:36 +01:00
cinap_lenrek a1066aa992 hjfs(8): theres no chown in plan9, link to chgrp(1) manpage. 2014-11-19 01:31:20 +01:00
cinap_lenrek a28263f7b2 games/snes: fix extern pic declaration to match reality 2014-11-18 17:03:45 +01:00
cinap_lenrek e15d0126ad games/md: apply same screen flush changes from games/snes 2014-11-18 17:00:44 +01:00
cinap_lenrek 763231588c games/snes: flush screen in parallel to audio (fixes buffer underruns on x200s)
the x200s is too slow on a single core to keep up without
audio buffer underruns, so the idea is to flush screen
in parallel to witing audio samples in a separate process.

with the proc, we also can keep updating the screen on resize
when paused.
2014-11-18 16:07:34 +01:00
aiju 844612fcb8 games/snes: save more audio state 2014-11-17 17:00:41 +01:00
cinap_lenrek dbb320ca90 audiohda: add pci ids for Intel 8 Series Lynx Point (thanks quux)
Based on OpenBSD driver:
- /sys/dev/pci/azalia.c rev 1.209
- /sys/dev/pci/pcidevs rev 1.1689
- only tested on amd64; machine is an Acer V5-573G
    exact model: V5-573G-74518G1Takk
2014-11-17 10:12:29 +01:00
cinap_lenrek fbdaa03d84 wpa: handle essid: with whitespaces from ether ifstats file 2014-11-17 00:53:02 +01:00
cinap_lenrek 2310258d57 wpa: fix quoting for essid with spaces 2014-11-17 00:12:55 +01:00
BurnZeZ 73eea8402b abaco: cleanup, handle image/x-icon, don't use backspace as a hotkey, and remove urlconvience()/related functions 2014-11-16 09:58:21 -05:00
aiju 170913631b nintendo(1): NTSC only 2014-11-16 15:17:34 +01:00
cinap_lenrek 242007de7c sed: fix error handling for "Output line too long" and other stuff
sed just continued writing past genbuf when it should stop
with "Output line too long".

quit when we get unspecified options.

stupid casts from long to char* for no reason.

some 0 vs nil cleanup.
2014-11-16 01:48:18 +01:00
cinap_lenrek d069c9b486 pc: get rid of fixed 8MB memory map (now dynamically between 4 to 16 MB depending on kernel size)
we now do mapping of KZERO to ROUND(end, 4*MB) where
end needs not to be above 16MB. this allows for bigger
kernels.
2014-11-15 15:21:24 +01:00
cinap_lenrek 4e00cf6b17 pc64: get rid of fixed 8MB INIMAP and dynamically map KZERO-end in l.s
traditionally, the pc kernel mapped the first 8MB of physical
address space. when the kernel size grows beyond that memory mapping,
it will crash on boot and theres no checking in the build process
making sure it fits.

with the pc64 kernel, it is not hard to always map the whole
kernel memory image from KZERO to end[], so that the kernel will
always fit into the initial mapping.
2014-11-15 11:43:05 +01:00
stanley lieber 62f5818481 fortunes: (no plan9 to hand) 2014-11-14 12:11:42 -05:00
cinap_lenrek 9841f7f3f5 upas/fs: handle ramfs and hjfs "file locked" error 2014-11-14 10:09:29 +01:00
cinap_lenrek 52c1f712ec upas/fs: handle cwfs "file is locked" error message 2014-11-14 23:36:18 +01:00
cinap_lenrek f51f73bdca ip: implement "hangup" ctl for udp protocol 2014-11-13 16:47:19 +01:00
cinap_lenrek 9840ce91cf kernel: make use of nil vs 0 consistent in qio.c (sorry) 2014-11-13 16:46:41 +01:00
cinap_lenrek 402140675f rootstub: create /sys/src/pkg and /sys/lib/pkg directories 2014-11-13 10:23:53 +01:00
cinap_lenrek 585f475c01 httpfile(4): document webfs dependency 2014-11-12 12:33:14 +01:00
cinap_lenrek c79dc3263e httpfile: use webfs, fix 9p flushes
we can improve performance alot by using webfs which
does http keep alives for us, so connection setup
overhead is eleminated.

fix 9p flushes and double frees.
2014-11-12 12:03:51 +01:00
stanley lieber 5540ca6b68 nintendo(1): more detail about gba 2014-11-11 14:57:45 -05:00
stanley lieber 994977e4d0 nintendo(1): document games/gba 2014-11-10 01:05:18 -05:00
cinap_lenrek bd7e387b51 pc64: fix comment description of pc64 kernel configuration 2014-11-10 12:22:50 +01:00
cinap_lenrek 28977d24b2 ether8169: add support for RTL8411B (thanks quux)
from quux 9fans post:

- based on the following changes in FreeBSD/OpenBSD:
http://svnweb.freebsd.org/base?view=revision&revision=257305
http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/sys/dev/ic/re.c.diff?r1=1.144&r2=1.145&f=h
http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/sys/dev/ic/rtl81x9reg.h.diff?r1=1.76&r2=1.77&f=h
http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/sys/dev/ic/rtl81x9reg.h.diff?r1=1.83&r2=1.84&f=h
- sysinfo _with_ patch, on amd64 (please disregard non-working audio and iwl stuff):
http://sysinfo.9front.org/src/86/body
- tested only on amd64; machine is an Acer V5-573G (exact model: V5-573G-74518G1Takk)
2014-11-10 12:13:07 +01:00
cinap_lenrek 2f8ee8fb4e pc, pc64: command flag sometimes doesnt reset, just check for IBF 2014-11-10 00:53:22 +01:00
cinap_lenrek 95dbc72801 io: add -E flag to access embedded controller space 2014-11-10 00:35:07 +01:00
cinap_lenrek ee05bbccbc merge 2014-11-10 00:06:01 +01:00
cinap_lenrek bcb67353c1 pc, pc64: provide access to embedded controller with #P/ec file 2014-11-10 00:04:37 +01:00
mischief 895d883bbd filter(1): fix typo i introduced
this is a good example of why blindly copy-pasting patches is a bad idea.
2014-11-09 13:41:06 -08:00
cinap_lenrek b18a641397 kernel: remove implicit Proc* argument from procctl()
procctl() is always called with up and it would not
work correctly if passed a different process, so
remove the Proc* argument and use up directly.
2014-11-09 08:19:28 +01:00
cinap_lenrek 1ffcdbab88 dont flush screen when hiding software cursor
we can avoid some flickering when removing the software cursor
from the shadow framebuffer by avoiding the flushscreenimage()
call.

once the cursor is redrawn, we flush the combined rect of its
old and new position in one go.
2014-11-08 11:48:38 +01:00
cinap_lenrek e4af9bc392 smtpd: cleanup hello() domain check code
theres no point in doing domain checks on literal ip addresses,
so handle that case early.
2014-11-08 09:00:04 +01:00
cinap_lenrek 4908ea43d7 merge 2014-11-08 05:23:59 +01:00
cinap_lenrek 9dfe587b27 smtpd: accept literal ipv6 addresses in HELO/EHLO 2014-11-08 05:22:25 +01:00
mischief cd3a742b32 all: typo fixes from ray@raylai.com 2014-11-07 10:39:50 -08:00
cinap_lenrek 797cc13c70 fix dangerous werrstr() usages
werrstr() takes a format string as its first argument.
a common error is to pass user controlled string buffers
into werrstr() that might contain format string escapes
causing werrstr() to take bogus arguments from the stack
and crash.

so instead of doing:
	werrstr(buf);

we want todo:
	werrstr("%s", buf);

or if we have a local ERRMAX sized buffer that we can override:
	errstr(buf, sizeof buf);
2014-11-07 12:51:59 +01:00
cinap_lenrek 5364fa720d libc: import cleaned up syslog() function from sources
this fixes a potential format string problem where the
error string is passed to werrstr() as fmt. also, the
directory comparsion is simplified in this version using
a helper function.
2014-11-07 08:42:19 +01:00
cinap_lenrek 958d698bf8 libc: improve dial error handling
when dial is called with a generic dialstring, it will try
/net and /net.alt in sequence. error out if the /net dial
gets interrupted and do not continue dialing /net.alt.

reduce stack usage by using the swaping nature of errstr()
instead of keeping two error string buffers on the stack.
2014-11-07 08:10:19 +01:00