Commit graph

3164 commits

Author SHA1 Message Date
BurnZeZ 91bed257fa ramfs: fix srvname; postmountsrv() already prepends /srv/ 2014-03-26 16:48:40 -04:00
cinap_lenrek 1641d9908b audio/oggdec: wait for pcmconv child process to exit
we have to wait for the pcmconv process to exit before
exiting yourselfs because otherwise pcmconv could
keep /dev/audio open and prevent further reopens for
a short period of time.
2014-03-26 18:39:58 +01:00
cinap_lenrek b964e60a49 libauthsrv: recognize amd64 $cputype in readnvram() to look for default locations 2014-03-26 23:47:19 +01:00
cinap_lenrek d4abe404b4 pc64: prevent dat.h from getting overwritten by ../pc/dat.h
the rule that was used to copy header files from ../pc
accidently overwrote dat.h when ../pc/dat.h was updated
because it matched on all *.h files that was also found
in ../pc directory. change to exact match on $PCHEADERS
to prevent this.
2014-03-24 19:00:34 +01:00
cinap_lenrek 0df733f94b games/snes: fix dspclock signed overflow (music stoping for minute) 2014-03-23 20:16:24 +01:00
cinap_lenrek e118352324 hget: revert hget -v change, this needs more thought
problems that need to be addressed:

- reads in the whole /proc every second for no reason
- breaks when http server doesnt include Content-Length header
- length is wrong for continued download (-o option)
2014-03-23 18:47:59 +01:00
cinap_lenrek ffb120199a auth/login: find authdom instead of using hardcoded cs.bell-labs.com (thanks erik) 2014-03-23 18:10:04 +01:00
mischief 226cb14058 hget(1): fix minor formatting error 2014-03-22 23:48:45 -07:00
mischief a710914b36 hget: add the -v option to produce progress on stderr, like old hget 2014-03-22 23:28:42 -07:00
aiju 0d080855b2 games/snes: cpu timing fix 2014-03-22 12:50:40 +01:00
aiju b13425e2b0 games/snes: silly bug 2014-03-22 11:11:51 +01:00
aiju 3e9650551e games/snes: improved cpu timing 2014-03-22 10:51:56 +01:00
cinap_lenrek 393dfd1ced 8c, 6c: fix mulgen botch error for handling multiplication by zero constant 2014-03-21 19:05:17 +01:00
cinap_lenrek 294e940f57 pc64: serial console support 2014-03-21 18:59:21 +01:00
cinap_lenrek 4a6939c2ce devfs: fix cclose() crash in devfs error handling 2014-03-21 18:12:06 +01:00
aiju 4abb38f177 games/snes: bug fixes 2014-03-21 16:55:16 +01:00
aiju 49ecfb6689 games/snes: minor cpu bug fix 2014-03-21 14:28:10 +01:00
aiju 26777f4cef games/snes: minor oam bugs 2014-03-21 14:25:08 +01:00
aiju 52cb2d472b games/snes: fixed decimal mode 2014-03-21 13:57:25 +01:00
aiju 24bb136c85 games/snes: added open bus emulation 2014-03-21 13:57:18 +01:00
aiju feb800ff7c games/snes: address remapping and irq reset bug fix 2014-03-21 12:57:17 +01:00
aiju 46168ec503 games/snes: added state saving 2014-03-21 10:53:33 +01:00
aiju 4b0467ce44 games/snes: made cpu timing slightly more accurate 2014-03-20 16:44:01 +01:00
aiju 3a54967108 games/snes: added offset-per-tile 2014-03-20 15:21:53 +01:00
cinap_lenrek a6f3ba79c2 audiohda: start playback only when we have a minimum delay buffered 2014-03-19 21:15:43 +01:00
aiju 90148cbe87 games/snes: audio improvements 2014-03-19 20:25:06 +01:00
aiju 5b7ebd7be3 games/snes: fixed large sprite scrolling bug 2014-03-19 09:04:25 +01:00
cinap_lenrek da62091c07 pc64: port etherbcm
do not store Block* pointer in packet descriptor, assumed
pointer would fit in a long. we use pointer table now to
record the Block* pointer and store index instead.
2014-03-19 09:00:20 +01:00
aiju f14b49f8bf games/snes: audio support (kind of) 2014-03-17 18:56:00 +01:00
cinap_lenrek f783587f05 etheriwl: provide shutdown function 2014-03-17 18:21:01 +01:00
aiju 84d5bbc634 games/snes: reset oam address on vblank 2014-03-17 15:48:36 +01:00
aiju 37c8651f98 merge 2014-03-17 14:57:49 +01:00
aiju 656b427bda games/snes: SPC ADDW/SUBW fix 2014-03-17 14:57:37 +01:00
aiju b1cd72cfef games/snes: BIT #imm does not set NZ flags 2014-03-17 14:54:12 +01:00
cinap_lenrek f2f46f4a33 pc64: amd64 kernel reboot support 2014-03-16 20:22:59 +01:00
aiju 105625e10b merge 2014-03-16 09:53:14 +01:00
aiju 2fb68b6338 games/snes: bug fixes 2014-03-16 09:52:38 +01:00
cinap_lenrek 38c0dfacab pc64: fix swaped error/flags in dumpregs(), remove misleading comment in apbootstrap 2014-03-16 02:28:04 +01:00
aiju 74778941ed games/snes: small mode 7 fix 2014-03-15 22:27:14 +01:00
aiju 744f038e86 games/snes: mode 7 2014-03-15 21:46:00 +01:00
aiju 55ea9a80b1 games/snes: fix flickering sprite bug 2014-03-15 10:06:18 +01:00
cinap_lenrek 442d17ab18 merge 2014-03-15 04:39:27 +01:00
cinap_lenrek 469dfca25f pc64: add R8-R15 in dumpregs() 2014-03-15 04:38:14 +01:00
cinap_lenrek 428148e421 merge 2014-03-15 01:07:17 +01:00
cinap_lenrek af13b1a147 plan9.ini(8): document service= boot parameter 2014-03-15 01:06:11 +01:00
aiju 586ab94b05 merge 2014-03-15 00:57:46 +01:00
aiju 77a3391cf3 games/snes: small hdma fix 2014-03-15 00:57:03 +01:00
cinap_lenrek 483f1ba602 merge 2014-03-15 00:56:36 +01:00
cinap_lenrek a8af25ef81 kernel: interpret service= boot parameter to set "cpuserver" variable 2014-03-15 00:55:02 +01:00
cinap_lenrek 11489407ec games/mkfile: add snes 2014-03-14 21:53:26 +01:00
cinap_lenrek 972ad576fd merge 2014-03-14 21:16:53 +01:00
cinap_lenrek 1c2fc52081 ramfs: replace with new lib9p based implementation
old ramfs had a limit on the number of files it could serve
and file size was limited to maximum allocaiton size.

the new implementation uses multiple memory chunks to back file data
in a private compactable memory pool to overcome these limits.
files can be sparse. file metadata is maintained by 9pfile data
structures of lib9p.
2014-03-14 21:15:16 +01:00
aiju f6a79e0acb games/snes: cpu bug fix and bg cleanup 2014-03-14 21:03:25 +01:00
aiju d54a795c80 games/snes: bg 3 2014-03-14 19:39:20 +01:00
aiju 08e433f31d games/snes: hirom support and register 2180 fix 2014-03-14 18:20:13 +01:00
aiju 8d11fd6d27 games/snes: mouse support 2014-03-14 16:49:52 +01:00
aiju e8e0428140 games/snes: performance improvements and scaling 2014-03-14 15:06:25 +01:00
aiju 289fb207c9 games/snes: added decimal mode and wai 2014-03-14 15:06:21 +01:00
mischief d1822db187 nm(2): clarify that U is an undefined symbol 2014-03-13 22:51:22 -07:00
aiju e5a6ebecd2 games/snes: bug fixes 2014-03-14 22:34:47 +01:00
cinap_lenrek ff677a1cb4 cpu: make -p work with explicit service in dialstring (same as import) 2014-03-14 03:54:08 +01:00
cinap_lenrek 8fb212515d import: make import -p work with explicit service in dialstring (thanks mischief)
mischief → ; import -p tcp!9.offblast.org!17007 / /n/9
mischief → -> import: can't mount /: EOF receiving fversion reply
mischief → on the console
mischief → bmo Mar 13 18:55:30 dialing tcp!9.offblast.org!17007
mischief → bmo Mar 13 18:55:30 reconnected to tcp!9.offblast.org!17007
mischief → bmo Mar 13 18:55:30 connected from 199.191.58.44
mischief → bmo Mar 13 18:55:34 exiting...bmo Mar 13 18:55:30 dialing tcp!9.offblast.org!17007
mischief → bmo Mar 13 18:55:30 reconnected to tcp!9.offblast.org!17007
mischief → bmo Mar 13 18:55:30 connected from 199.191.58.44
mischief → bmo Mar 13 18:55:34 exiting...
mischief → aan is dialing the *exportfs* port because i explicitly specified it
2014-03-14 03:48:26 +01:00
aiju 85a414751a added games/snes 2014-03-13 20:07:36 +01:00
cinap_lenrek eed4871674 exportfs: avoid closing netfd in filter()
netfd is initially zero (stdin), when filter() closes fd0,
fd0 is free to be reused. this causes problems with openmount()
that assumes sfd being >2.

instead, we dup the our pipe end over netfd, and close the pipe.
2014-03-11 07:03:15 +01:00
cinap_lenrek 2c0490a26e libdraw: fix zero stringwidth() bug
stringwidth() and string() sometimes failed spuriously due
to the wrong assumption that cachechars() will only fail
when a different subfont is needed. in fact, cachechars()
can fail for other reasons like when it resizes the fontcache
(or fails todo so).

theres also the case when loadchar() is unable to translate
a character and returns 0. this case needs to be differentiated
from such temporary conditions like fontcache resize or subfont
load to stop the retry loop in string() and stringwidth().

now cachechars() returns -1 to indicate that it cannot
proceed and we test this in string() and stringwidth()
to skip over untranslatable characters to make progress
instead of retrying.
2014-03-10 06:41:45 +01:00
cinap_lenrek 760b3d0667 5e: remove newline from suicide string 2014-03-10 23:20:01 +01:00
cinap_lenrek 3aeca15d3c 5e: trap unaligned memory access 2014-03-10 23:16:47 +01:00
aiju 26a8accad2 nusb: added joy 2014-03-09 18:03:07 +01:00
cinap_lenrek 62ffb9c16e libmach: pragma pack 32bit Ureg structs for amd64
when libmach is compiled with 6c, unions in the 32bit Uregs
cause fields to be wronly aligned. use #pragma pack arround
the #include "/$objtype/include/ureg.h" statement.
2014-03-09 02:04:08 +01:00
stanley lieber beb7827425 5e(1): add HISTORY 2014-03-08 19:12:00 -05:00
cinap_lenrek 9743c2752c merge 2014-03-08 21:09:59 +01:00
cinap_lenrek f05af31f36 5e: fix amd64 2014-03-08 21:07:57 +01:00
stanley lieber f459c5133a fortunes: it would be nice to be able to try the plan 9 go port without a plan 9 system. 2014-03-07 22:32:58 -05:00
stanley lieber 0c005b5105 mothra: handle blank lines inside <pre> tags 2014-03-07 11:44:05 -05:00
cinap_lenrek f88d0c372d nusb: fix loaddevstr() (thanks erik quanstro and richard miller)
loaddevstr() should request 256 bytes, as per standard and
respect the length embedded in the string.
2014-03-06 22:53:20 +01:00
cinap_lenrek 7cdd1c46c5 wifi: remove misleading packet header length check in wifidecrypt()
we do not need to check block length in wifidecrypt()
again as wifiiq() already filters out truncated frames.
2014-03-06 22:09:17 +01:00
cinap_lenrek 8e924edeeb wifi: decode AP->AP (WDS / bridge) data frames. 2014-03-06 21:36:14 +01:00
cinap_lenrek bbe797c3d0 ndb(8): the truth is too hard to explain, so theres a nice lie. 2014-03-05 20:13:03 +01:00
cinap_lenrek f894ab740f ndb(8): document -x option of ndb/dnsquery (thanks mischief) 2014-03-05 19:50:34 +01:00
mischief 077a4dbe48 cpu: remove unused connection directory buffer 2014-03-04 07:46:16 -08:00
cinap_lenrek c904d5bfa6 nintendo(1): add SOURCE section 2014-03-05 00:05:43 +01:00
aiju 8dfc237a57 updated nintendo manpage 2014-03-04 23:10:31 +01:00
cinap_lenrek 316d8ad76b pc64: fix segattach
the comment about Physseg.size being in pages is wrong,
change type to uintptr and correct the comment.

change the length parameter of segattach() and isoverlap()
to uintptr as well. segments can grow over 4GB in pc64 now
and globalsegattach() in devsegment calculates len argument
of isoverlap() by s->top - s->bot. note that the syscall
still takes 32bit ulong argument for the length!

check for integer overflow in segattach(), make sure segment
goes not beyond USTKTOP.

change PTEMAPMEM constant to uvlong as it is used to calculate
SEGMAXSIZE.
2014-03-04 22:37:15 +01:00
stanley lieber 06c8a5b391 games(1), nintendo(1): re-organize nintendo emulators into separate man page; add HISTORY 2014-03-03 01:06:40 -05:00
stanley lieber ffbfbe270f fortunes: If you start your own successfull project, you also can develop your own set of reasons for doing any of a variety of operational things at any point in time. 2014-03-03 00:26:35 -05:00
aiju c92edc1de5 games/nes: fix buffer overrun 2014-03-03 20:13:56 +01:00
cinap_lenrek f7ab9fb52a pcmconv: revert previous change, fix dither clipping
previous change had forgot how dithering works... m(

we *really* add a random signal when *reducing* the number
of bits. just make sure we do not overflow like in
mixin().
2014-03-03 14:45:14 +01:00
cinap_lenrek 7fc7802358 pcmconv: fix dither clipping
the check in dither() was inverted. we should only
add noise when the output bit count is greater
than input bit count (samples shifted up) to
fill the lower zero bits produced by the shift.
2014-03-03 09:00:59 +01:00
cinap_lenrek 2750062701 cc: correct out-of-bounds references in funct.c (thanks charles forsyth) 2014-03-02 21:08:48 +01:00
cinap_lenrek 9405f4c95f kernel: getting rid of duppage() (thanks charles)
simplifying paging code by getting rid of duppage(). instead,
fixfault() now always makes a copy of the shared/cached page
and leaves the cache alone. newpage() uncaches pages as
neccesary.

thanks charles forsyth for the suggestion.

from http://9fans.net/archive/2014/03/26:

> It isn't needed at all. When a cached page is written, it's trying hard to
> replace the page in the cache by a new copy,
> to return the previously cached page. Instead, I copy the cached page and
> return the copy, which is what it already
> does in another instance. ...
2014-03-02 20:55:26 +01:00
aiju 142858b176 games/nes: SUROM support, subtle NMI timing bug fixed 2014-03-02 12:24:07 +01:00
cinap_lenrek 88405371b1 merge 2014-03-01 19:36:45 +01:00
cinap_lenrek 2e6234da0f pc64: multiboot support 2014-03-01 19:35:40 +01:00
aiju 1112601048 merge 2014-03-01 19:23:55 +01:00
aiju 3d01ec2f25 games/nes: fix ppu off-by-one and sprite display bug 2014-03-01 19:23:14 +01:00
stanley lieber d8035a86f7 bcm kernel: add *kernelpercent option for cmdline.txt 2014-02-28 00:27:32 -05:00
cinap_lenrek fd112b949f pc64: enable pmmc driver 2014-03-01 05:50:20 +01:00
cinap_lenrek bc137696be libsec: fix memory leaks in seq_decode() and octet_decode() of asn1 parser 2014-02-28 18:54:56 +01:00
cinap_lenrek 6354bd0728 libsec: skip missing thumbprint files; not an error 2014-02-28 02:08:59 +01:00
cinap_lenrek dd076567a4 libsec: improve thumbprint code
1) handle errors when loading thumbprint file.
initThumbprints() now returns nil and sets errstr
on error. a syntax error in a thumbprint file
should be reported instead of silently ignored!
(have to check users)

2) fix memory leak in initThumbprints(); we have to use
freeThumbprints() instead of free to release crltab.

3) use the actual head entries for thumbprint
storage in the thumbprints array. most thumbprint
files are rather sparse.

4) remove private emalloc() function. we shouldnt
just exit the calling process on allocation error,
instead handle error properly. this is a library!
2014-02-28 01:23:11 +01:00
aiju ff5ac0c5cb games/nes: improved time synchronization
games/gb: added some games/nes improvements
2014-02-27 19:52:02 +01:00
mischief 99f9a60178 libsec: add aes_128_cbc and aes_256_cbc ciphers 2014-02-25 17:37:59 -08:00
mischief 774ccb19e4 devtls: spelling 2014-02-25 16:57:22 -08:00
mischief de4db6745e libsec: move static sendbuf into TlsConnection and give receive buffer a better name 2014-02-25 12:48:17 -08:00
glenda 8c65872285 scribble(2): quashed false claims of quick-reference decadance. 2014-02-25 20:05:34 +00:00
cinap_lenrek b4d13efc1e csdial: avoid useless werrstr() call on success (thanks mischief) 2014-02-25 20:14:08 +01:00
cinap_lenrek c4fec93ab9 python: add buffer length check in sock_recvfrom_into() 2014-02-25 18:51:03 +01:00
mischief ec37e34f07 acid: fix errstr syscall data offset for truss library 2014-02-25 09:31:58 -08:00
mischief 26af562313 mp(2): spelling 2014-02-24 01:10:40 -08:00
aiju 28c3c2bea7 games/nes: mmc3 chr inversion fixed 2014-02-25 09:39:30 +01:00
aiju 1df8b3d2c1 games/nes: it's too late to write code 2014-02-25 23:25:28 +01:00
aiju 1a67cd2c44 games/nes: fixed reload flags 2014-02-25 23:18:26 +01:00
aiju d8489586ec merge 2014-02-24 22:50:29 +01:00
aiju 76b51dc816 games/nes: added dmc, fixed envelope, added cnrom 2014-02-24 22:50:05 +01:00
cinap_lenrek 5e353e17c6 acid: add some debugging aid function for counting kernel image cache page refs 2014-02-24 22:45:38 +01:00
cinap_lenrek c29719ce84 merge 2014-02-24 22:43:21 +01:00
cinap_lenrek 521a34d33b kernel: keep cached pages continuous at the end of the page list on imagereclaim()
imagereclaim() sabotaged itself by breaking the invariant
that cached pages are kept at the end of the page list.

once we made a hole of uncached pages, we would stop
reclaiming cached pages before it as the loop breaks
once it hits a uncached page. (we iterate backwards from
the tail to the head of the pagelist until pages have been
reclaimed or we hit a uncached page).

the solution is to move pages to the head of the pagelist
after removing them from the image cache.
2014-02-24 22:42:22 +01:00
mischief 1d1fafc892 control(2): spelling 2014-02-24 13:02:54 -08:00
aiju 60c3c3b3db games/nes: added uxrom (mapper 2) 2014-02-24 19:50:02 +01:00
aiju 9486df09c2 games/nes: best commit (fixed audio and timing) 2014-02-24 19:33:26 +01:00
aiju ad9047ab2c games/nes: basic audio support, battery backup, bug fixes 2014-02-23 21:46:16 +01:00
cinap_lenrek f82e3e8657 merge 2014-02-23 18:42:01 +01:00
cinap_lenrek ef1ec09cf7 pc64: fix mmu leak 2014-02-23 18:40:43 +01:00
aiju 662fff51f0 games/nes: added oflag 2014-02-23 11:55:29 +01:00
aiju ca7f016c7b games/nes: minor ppu improvements 2014-02-22 20:10:54 +01:00
aiju 88fbe05ee9 games/nes: mapper 7 fix 2014-02-22 19:50:31 +01:00
aiju af8c91cf6d games/nes: mmc3 and bugfixes 2014-02-22 17:43:15 +01:00
stanley lieber 2bfcea9197 games(1): english 2014-02-21 21:06:57 -05:00
cinap_lenrek 8593d20b8f games(1): add some of the new games, not all have full description tho 2014-02-22 02:46:46 +01:00
cinap_lenrek f001c8c8f4 add games/nes to mkfile 2014-02-22 01:11:42 +01:00
stanley lieber 8dcaceb875 fortunes: 445b546003 2014-02-21 16:14:16 -05:00
aiju 830a9b59c9 games/nes: added state saving & bug fixes 2014-02-21 20:48:23 +01:00
cinap_lenrek 0181117b5f fork filter procs with RFREND in various programs 2014-02-21 05:32:20 +01:00
cinap_lenrek fef5c8e4ca aux/listen: rfork with RFREND
child processes handling the connection should be all
independent of each another and not share rendezvous
group. the rendezvous group sharing caused a bug in
exportfs when we switched from using pid to memory
address as rendezvous tag.
2014-02-21 05:29:43 +01:00
cinap_lenrek 40d71baf7f exportfs: bring back the changes, bug was due to rendezvous group being shared by listen
exportfs used pid of slave proc as rendezvous tag. when we
changed it to use Proc* memory address, there where tag
collisions because listen didnt fork the rendezvous group (bug!).

for now, just do rfork(RFREND) in main just in case.

will fix aux/listen in a follow up changeset.

--
cinap
2014-02-21 05:23:21 +01:00
cinap_lenrek d7378c10d8 merge 2014-02-21 01:03:31 +01:00
cinap_lenrek 1281b234e8 exportfs: reverting previous changes
getting strange tag mismatches on some machines. needs
to be debugged. until then, reverting the change.
2014-02-21 01:02:32 +01:00
aiju ce5f4ff032 merge 2014-02-20 22:14:41 +01:00
aiju 29491679b8 games/nes: cleanup and resize handling 2014-02-20 22:13:59 +01:00
aiju eeac553c36 games/nes: bug fixing 2014-02-20 23:22:14 +01:00
cinap_lenrek a6d5f9ccae fix blowfish endianess confusion (thanks erik)
from /n/sources/patch/blowfish/readme:

Blowfish is broken. The order of the bytes in the ciphertext
is wrong. The problem is the conversion from the ciphertext
plaintext block to the array of u32int used by the core funcions
and vice versa.

This code has been tested on big endian and little endian
machines.

A test program is also included, bftets.c. It uses the
test vectors of blowfish available at
https://www.schneier.com/code/vectors.txt
2014-02-20 18:32:47 +01:00
cinap_lenrek 9c40e15ba8 exportfs: fix flush races, proc sweeping 2014-02-18 22:15:06 +01:00
cinap_lenrek 152c9d525b aux/cpuid: hack for amd64 2014-02-17 19:50:02 +01:00
cinap_lenrek 2c5c784255 prof: properly save and restore RARG for amd64
amd64 passes first argument in RARG (BP) register
which has the be preserved duing _profin() and
_profout() calls. to handle this we introduce
_saveret() and _savearg(). _saveret() returns
AX, _savearg() returns RARG (BP). for archs other
and amd64, _saveret() and _savearg() are the
same function, doing nothing.

restoing works with dummy function:

uintptr
_restore(uintptr, uintptr ret)
{
	return ret;
}

...

ret = _saveret();
arg = _savearg();
...
return _restore(arg, ret);

as we pass arg as the first argument, RARG (BP) is
restored.
2014-02-17 13:25:24 +01:00
cinap_lenrek 87fcb107ef games/nes: add mapper 7 support 2014-02-16 21:40:33 +01:00
aap cd27c0cca2 xd: changed -s option to switch to little-endian units 2014-02-16 21:32:14 +01:00
aiju 1225ebec71 added games/nes 2014-02-16 20:51:11 +01:00
cinap_lenrek ae41f49f09 mothra: remove unused local variables from pl_nextc() 2014-02-16 19:40:50 +01:00
cinap_lenrek 3df2b18398 truss: use A instead of X as address format for data dump 2014-02-16 19:20:57 +01:00
cinap_lenrek c44cbf3165 truss: fix syscall address formats 2014-02-16 19:08:49 +01:00