]> git.lizzy.rs Git - plan9front.git/log
plan9front.git
10 years agoupas/fs: disable imap mail fetch pipeline due to race
mischief [Thu, 26 Jun 2014 05:06:29 +0000 (22:06 -0700)]
upas/fs: disable imap mail fetch pipeline due to race

pipeline = 1 with a dovecot imap server causes FETCH and OK responses
get interleaved so some message bodies accidentally get merged together.
disabling it will make fetching mail over imap slower, but it works.

10 years agoxen: delete screen.h from pc that accidentally snuck in. a screen.h for xen framebuff...
mischief [Wed, 25 Jun 2014 23:56:39 +0000 (16:56 -0700)]
xen: delete screen.h from pc that accidentally snuck in. a screen.h for xen framebuffer will be added later.

10 years agoxen: fix boot argv0
mischief [Wed, 25 Jun 2014 23:03:08 +0000 (16:03 -0700)]
xen: fix boot argv0

10 years agoxen: gotta go fast
mischief [Wed, 25 Jun 2014 22:47:31 +0000 (15:47 -0700)]
xen: gotta go fast

use smaller timeouts for sleeps while waiting for xen ether and sd devices to come online. in practice they come up very quickly.

10 years agoxen: correct print format for long
mischief [Wed, 25 Jun 2014 22:45:04 +0000 (15:45 -0700)]
xen: correct print format for long

10 years agosam: mark samsave executable
mischief [Wed, 25 Jun 2014 10:13:52 +0000 (03:13 -0700)]
sam: mark samsave executable

sam generates $home/sam.save for modified files. it expects /sys/lib/samsave to be executable to restore the modified files.

10 years agoxen: fix early console
mischief [Wed, 25 Jun 2014 02:37:03 +0000 (19:37 -0700)]
xen: fix early console

10 years agoimport xen 32 bit paravirtual kernel from /n/sources/xen.
mischief [Wed, 25 Jun 2014 01:02:25 +0000 (18:02 -0700)]
import xen 32 bit paravirtual kernel from /n/sources/xen.

10 years agokernel: more proc.c cleanup
cinap_lenrek [Mon, 23 Jun 2014 19:51:34 +0000 (21:51 +0200)]
kernel: more proc.c cleanup

10 years agokernel: make use of nil and 0 consistent in proc.c
cinap_lenrek [Mon, 23 Jun 2014 19:24:12 +0000 (21:24 +0200)]
kernel: make use of nil and 0 consistent in proc.c

always explicitely compare with nil if pointer.
sorry for the noise. :(

10 years agomerge
cinap_lenrek [Mon, 23 Jun 2014 18:30:18 +0000 (20:30 +0200)]
merge

10 years agokernel: fix cooperative scheduling for wired processes
cinap_lenrek [Mon, 23 Jun 2014 18:29:10 +0000 (20:29 +0200)]
kernel: fix cooperative scheduling for wired processes

10 years agonewt(1): minor man page clarifications
stanley lieber [Sun, 22 Jun 2014 22:10:04 +0000 (18:10 -0400)]
newt(1): minor man page clarifications

10 years agoether8169: use u16int instead of u8int for C+ command register (thanks pavel / erik)
cinap_lenrek [Sun, 22 Jun 2014 17:01:37 +0000 (19:01 +0200)]
ether8169: use u16int instead of u8int for C+ command register (thanks pavel / erik)

10 years agopc64: fix comment for preallocpages()
cinap_lenrek [Sun, 22 Jun 2014 14:05:53 +0000 (16:05 +0200)]
pc64: fix comment for preallocpages()

10 years agoremove imagepagerefs() acid function
cinap_lenrek [Sun, 22 Jun 2014 13:40:36 +0000 (15:40 +0200)]
remove imagepagerefs() acid function

10 years agokernel: new pagecache, remove Lock from page, use cmpswap for Ref instead of Lock
cinap_lenrek [Sun, 22 Jun 2014 13:12:45 +0000 (15:12 +0200)]
kernel: new pagecache, remove Lock from page, use cmpswap for Ref instead of Lock

make the Page stucture less than half its original size by getting rid of
the Lock and the lru.

The Lock was required to coordinate the unchaining of pages that where
both cached and on the lru freelist.

now pages have a single next pointer that is used for palloc.head
freelist xor for page cache hash chains in Image.pghash[].

cached pages are not on the freelist anymore, but will be reclaimed
from images by the pager when the freelist runs out of pages.

each Image has its own 512 hash chains for cached page lookup. That is
2MB worth of pages and there should be no collisions for most text images.

page reclaiming can be done without holding palloc.lock as the Image is
the owner of the page hash chains protected by the Image's lock.

reclaiming Image structures can be done quickly by only reclaiming pages from
inactive images, that is images which are not currently in use by segments.

the Ref structure has no Lock anymore. Only a single long that is atomically
incremented or decremnted using cmpswap().

there are various other changes as a consequence code. and lots of pikeshedding,
sorry.

10 years agoed: dont pass string constants to mktemp()
cinap_lenrek [Sat, 21 Jun 2014 23:48:02 +0000 (01:48 +0200)]
ed: dont pass string constants to mktemp()

10 years agogames/md: small bug fixes
aiju [Sun, 15 Jun 2014 18:11:24 +0000 (20:11 +0200)]
games/md: small bug fixes

10 years agogames/md: add shadow/hilight support
aiju [Sun, 15 Jun 2014 17:02:06 +0000 (19:02 +0200)]
games/md: add shadow/hilight support

10 years agogames/md: add save game support, fix cpu bug
aiju [Sun, 15 Jun 2014 13:52:29 +0000 (15:52 +0200)]
games/md: add save game support, fix cpu bug

10 years agogames/md: small fixes
aiju [Sat, 14 Jun 2014 18:18:57 +0000 (20:18 +0200)]
games/md: small fixes

10 years agogames/snes: fix -T
aiju [Fri, 13 Jun 2014 17:54:33 +0000 (19:54 +0200)]
games/snes: fix -T

10 years agogames/md: vdp window fix, added ym2612 timers
aiju [Fri, 13 Jun 2014 16:06:44 +0000 (18:06 +0200)]
games/md: vdp window fix, added ym2612 timers

10 years agogames/md: add z80, audio support
aiju [Fri, 13 Jun 2014 15:21:25 +0000 (17:21 +0200)]
games/md: add z80, audio support

10 years agomerge
cinap_lenrek [Fri, 13 Jun 2014 08:21:27 +0000 (10:21 +0200)]
merge

10 years agopc64: fix MS2HZ (thanks Anthony Martin)
cinap_lenrek [Fri, 13 Jun 2014 08:19:46 +0000 (10:19 +0200)]
pc64: fix MS2HZ (thanks Anthony Martin)

10 years agotermrc, cpurc: clarify comments by removing lies
stanley lieber [Thu, 12 Jun 2014 19:56:54 +0000 (15:56 -0400)]
termrc, cpurc: clarify comments by removing lies

10 years agolibstdio: avoid issues with aliasing in dtoa() on amd64 (from 9atom, thanks to erik...
cinap_lenrek [Thu, 12 Jun 2014 18:14:12 +0000 (20:14 +0200)]
libstdio: avoid issues with aliasing in dtoa() on amd64 (from 9atom, thanks to erik and charles)

10 years agolibsec: use u32int instead of uint when we need 32 bit (thanks erik)
cinap_lenrek [Thu, 12 Jun 2014 12:05:10 +0000 (14:05 +0200)]
libsec: use u32int instead of uint when we need 32 bit (thanks erik)

10 years agosamterm: use 4K stacks for amd64 (thanks burnzez)
cinap_lenrek [Wed, 11 Jun 2014 17:31:14 +0000 (19:31 +0200)]
samterm: use 4K stacks for amd64 (thanks burnzez)

we got a stack overflow on the hostproc on amd64 overflowing
by arround 200 byte. so just use 4K stacks for everything.

10 years agorevert ramfs example
cinap_lenrek [Wed, 11 Jun 2014 16:01:20 +0000 (18:01 +0200)]
revert ramfs example

the code was correct. erealloc9p() terminates the process
on error, but the code was handling realloc() error explicitely
and responded the request with Enomem error.

10 years agolibsec: fix dsagen 64-bit bug (thanks rsc)
ftrvxmtrx [Wed, 11 Jun 2014 15:35:05 +0000 (17:35 +0200)]
libsec: fix dsagen 64-bit bug (thanks rsc)

10 years agolib9p: ramfs example: s/realloc/erealloc9p/
ftrvxmtrx [Wed, 11 Jun 2014 15:22:32 +0000 (17:22 +0200)]
lib9p: ramfs example: s/realloc/erealloc9p/

10 years agopool: declare pooldump in pool.h. the manual says it is public.
mischief [Mon, 9 Jun 2014 19:17:45 +0000 (12:17 -0700)]
pool: declare pooldump in pool.h. the manual says it is public.

10 years agoaudiohda: add Intel 8 Series/C220 Series support
ftrvxmtrx [Mon, 9 Jun 2014 19:53:40 +0000 (21:53 +0200)]
audiohda: add Intel 8 Series/C220 Series support

10 years agoether8169: support for RTL8168G
ftrvxmtrx [Mon, 9 Jun 2014 19:06:22 +0000 (21:06 +0200)]
ether8169: support for RTL8168G

10 years agomkpaqfs: english
mischief [Mon, 9 Jun 2014 12:05:59 +0000 (05:05 -0700)]
mkpaqfs: english

10 years agopc: clip rectangles before sending them to the hardware in flushmemscreen
mischief [Mon, 9 Jun 2014 07:22:11 +0000 (00:22 -0700)]
pc: clip rectangles before sending them to the hardware in flushmemscreen

the vmware svga video card emulated by qemu (qemu -vga vmware) complains and eventually causes a panic if the rectangles aren't clipped.

messages like the following can be observed from qemu before the kernel panics:
vmsvga_update_rect: update h was < 0 (-20000)
vmsvga_update_rect: update height too large y: 10000, h: 0
vmsvga_update_rect: update w was < 0 (-20000)
vmsvga_update_rect: update width too large x: 10000, w: 0

i could only reproduce this in qemu 2.0.50 on the master branch, when using the ui and had selected 'Zoom To Fit' from the View menu.

10 years agoether79c970: fix mistake
cinap_lenrek [Mon, 9 Jun 2014 05:21:36 +0000 (07:21 +0200)]
ether79c970: fix mistake

fix bug introduced by amd64 support:

forgot to update ring index i on receive. surprisingly
this was working until there where more than one packet
to process. sorry.

ilock the controller while processing rings. this should
be fixed and use kprocs instead.

10 years agoiostats: add -C flag to enable mount cache
cinap_lenrek [Sun, 8 Jun 2014 16:54:36 +0000 (18:54 +0200)]
iostats: add -C flag to enable mount cache

10 years agoiostats: dont sysfatal on 9p read error due to program termination
cinap_lenrek [Sun, 8 Jun 2014 16:27:39 +0000 (18:27 +0200)]
iostats: dont sysfatal on 9p read error due to program termination

the note mechanism is racy and can lead to the fs terminating
iostats because it gets "i/o on hugup channel" (namespace closed).

10 years agoswap: make sure swap address sticks arround until page is written to swap
cinap_lenrek [Sun, 8 Jun 2014 15:39:40 +0000 (17:39 +0200)]
swap: make sure swap address sticks arround until page is written to swap

we have to make sure the *swap address* doesnt go away,
after putting the swap address in the segment pte.

after we unlock the segment, the process could be
killed or fault which would cause the swap address to
be freed *before* we write the page to disk when it
pulls the page from the cache and putswap() swap pte.

keeping a reference to the page is no good. we have
to hold on the swap address. this also has the advantage
that we can now test if the swap address is still
referenced and can avoid writing to disk.

10 years agopc64: use pc/pcrandom.$O instead of port/random.$O for RDRAND instruction support
cinap_lenrek [Sun, 8 Jun 2014 02:40:18 +0000 (04:40 +0200)]
pc64: use pc/pcrandom.$O instead of port/random.$O for RDRAND instruction support

10 years agokernel: remove _xinc()/_xdec()
cinap_lenrek [Sat, 7 Jun 2014 23:35:22 +0000 (01:35 +0200)]
kernel: remove _xinc()/_xdec()

as with the Block refcount changes, _xinc() and _xdec() arent
used anymore, so remove them.

architecure can still define ainc()/adec() when it needs them.

10 years agopc, pc64: fix missed qunlock, use Ref with incref()/decref() instead of _xinc()/_xdec()
cinap_lenrek [Sat, 7 Jun 2014 23:33:15 +0000 (01:33 +0200)]
pc, pc64: fix missed qunlock, use Ref with incref()/decref() instead of _xinc()/_xdec()

10 years agoomap: move syscall.$O target from config to mkfile
cinap_lenrek [Sat, 7 Jun 2014 22:26:39 +0000 (00:26 +0200)]
omap: move syscall.$O target from config to mkfile

10 years agoomap: remove Block refcounting
cinap_lenrek [Sat, 7 Jun 2014 22:26:23 +0000 (00:26 +0200)]
omap: remove Block refcounting

10 years agokernel: remove Block refcounting (thanks erik)
cinap_lenrek [Sat, 7 Jun 2014 22:19:33 +0000 (00:19 +0200)]
kernel: remove Block refcounting (thanks erik)

10 years agoteg2: move syscall.$O and syscallfmt.$O targets from config to mkfile
cinap_lenrek [Sat, 7 Jun 2014 22:15:53 +0000 (00:15 +0200)]
teg2: move syscall.$O and syscallfmt.$O targets from config to mkfile

10 years agokw: move syscall.$O target from config to mkfile
cinap_lenrek [Sat, 7 Jun 2014 22:14:31 +0000 (00:14 +0200)]
kw: move syscall.$O target from config to mkfile

10 years agoomap4: update for new syscall interface and syscallfmt
cinap_lenrek [Sat, 7 Jun 2014 22:13:10 +0000 (00:13 +0200)]
omap4: update for new syscall interface and syscallfmt

10 years agodougfacts: remove html corruption and end file with newline
stanley lieber [Sat, 7 Jun 2014 19:16:24 +0000 (15:16 -0400)]
dougfacts: remove html corruption and end file with newline

10 years agopc64: remove unneeded parens in pmap()
cinap_lenrek [Sat, 7 Jun 2014 07:43:37 +0000 (09:43 +0200)]
pc64: remove unneeded parens in pmap()

10 years agomerge
cinap_lenrek [Sat, 7 Jun 2014 07:28:33 +0000 (09:28 +0200)]
merge

10 years agopc64: implement checkmmu() debug function
cinap_lenrek [Sat, 7 Jun 2014 07:26:57 +0000 (09:26 +0200)]
pc64: implement checkmmu() debug function

10 years agosdvirtio: experimental support for virtio-scsi
cinap_lenrek [Sat, 7 Jun 2014 00:13:57 +0000 (02:13 +0200)]
sdvirtio: experimental support for virtio-scsi

10 years agofile: djvu
ftrvxmtrx [Sat, 7 Jun 2014 21:16:34 +0000 (23:16 +0200)]
file: djvu

10 years agofortunes: i believe any successful Plan 9 distro will need to provide some transparen...
stanley lieber [Fri, 6 Jun 2014 04:58:36 +0000 (00:58 -0400)]
fortunes: i believe any successful Plan 9 distro will need to provide some transparency in the change review process. -- Skip Tavakkolian

10 years agofile: detect NES and SEGA rom files, fix newline
cinap_lenrek [Thu, 5 Jun 2014 23:29:14 +0000 (01:29 +0200)]
file: detect NES and SEGA rom files, fix newline

10 years agomerge
cinap_lenrek [Thu, 5 Jun 2014 19:56:01 +0000 (21:56 +0200)]
merge

10 years agokernel: dont use atomic increment for Proc.nlocks, maintain Lock.m for lock(), use...
cinap_lenrek [Thu, 5 Jun 2014 19:54:32 +0000 (21:54 +0200)]
kernel: dont use atomic increment for Proc.nlocks, maintain Lock.m for lock(), use uintptr intstead of long for pc values

change Proc.nlocks from Ref to int and just use normal increment and decrelemt
as done in erik quanstros 9atom.

It is not clear why we used atomic increment in the fist place as even if we
get preempted by interrupt and scheduled before we write back the incremented
value, it shouldnt be a problem and we'll just continue where we left off as
our process is the only one that can write to it.

Yoann Padioleau found that the Mach pointer Lock.m wasnt maintained
consistently for lock() vs canlock() and ilock(). Fixed.

Use uintptr instead of ulong for maxlockpc, maxilockpc and ilockpc debug variables.

10 years agog: add *.cpp
ftrvxmtrx [Thu, 5 Jun 2014 10:10:43 +0000 (12:10 +0200)]
g: add *.cpp

10 years agopc64: dont trap _xinc()/_xdec() overflow/underflow, delete unused atomic functions
cinap_lenrek [Thu, 5 Jun 2014 05:57:23 +0000 (07:57 +0200)]
pc64: dont trap _xinc()/_xdec() overflow/underflow, delete unused atomic functions

10 years agowebfs: explicitely unmount old /mnt/web (thanks BurnZeZ)
cinap_lenrek [Wed, 4 Jun 2014 15:45:08 +0000 (17:45 +0200)]
webfs: explicitely unmount old /mnt/web (thanks BurnZeZ)

webfs forks the namespace to isolate itself from its mount
point which has the side effect that it captures the mount
of previous instances of webfs mounted on /mnt/web.

explicitely unmount the mountpoint in our namespace copy
to drop the reference.

10 years agonusbrc: dont fork usb drivers into background
cinap_lenrek [Wed, 4 Jun 2014 21:59:17 +0000 (23:59 +0200)]
nusbrc: dont fork usb drivers into background

probing needs to run synchronous to avoid races with other
readers of /dev/usbevent.

10 years agonusb/usbd: cleanup
cinap_lenrek [Tue, 3 Jun 2014 19:40:30 +0000 (21:40 +0200)]
nusb/usbd: cleanup

10 years agokernel: remove wrong and needles mapsize check in newseg() (thanks Yoann Padioleau)
cinap_lenrek [Tue, 3 Jun 2014 05:47:09 +0000 (07:47 +0200)]
kernel: remove wrong and needles mapsize check in newseg() (thanks Yoann Padioleau)

10 years agonusb/usbd: serialize /dev/usbevent processing
cinap_lenrek [Tue, 3 Jun 2014 05:21:48 +0000 (07:21 +0200)]
nusb/usbd: serialize /dev/usbevent processing

when there are multiple readers of /dev/usbevent, we have to
serialize the processing to make sure that only one driver
is opening the devices control endpoint at a time.

to do this, we assume the device is busy after reading the
event file until the next read or clunk on the same fid.

to mark a device busy, we set the dev->aux pointer to the
fid processing a event. And the Event structure takes a
reference to the device producing the event.

the problem arised from cdc ethernet and nusb/serial sharing
the same device class, and we need to run the particular driver
to figure out if the device can be used. doing this concurrently
fails because devusb allows only one open per endpoint.

10 years agopc64: fix for unsigned comparsion of (top - base) >= size
cinap_lenrek [Sun, 1 Jun 2014 04:54:55 +0000 (06:54 +0200)]
pc64: fix for unsigned comparsion of (top - base) >= size

the rounding of base can make it above top, so have to
use signed comparsion.

10 years agopc64: use 2MB pages for preallocpages()
cinap_lenrek [Sun, 1 Jun 2014 04:31:50 +0000 (06:31 +0200)]
pc64: use 2MB pages for preallocpages()

10 years agopc64: allocate palloc.pages from upages
cinap_lenrek [Sun, 1 Jun 2014 01:13:58 +0000 (03:13 +0200)]
pc64: allocate palloc.pages from upages

the palloc.pages array takes arround 5% of the upages which
gives us:

16GB = ~0.8GB
32GB = ~1.6GB
64GB = ~3.2GB

we only have 2GB of address space above KZERO so this will not
work for long.

instead, pageinit() was altered to accept a preallocated memory
in palloc.pages. and preallocpages() in pc64/main.c allocates the
in upages memory, mapping it in the VMAP area (which has 512GB).

the drawback is that we cannot poke at Page structures now from
/proc/n/mem as the VMAP area is not accessible from it.

10 years agogames/nes: support Battle City two players mode with joypads
ftrvxmtrx [Sat, 31 May 2014 23:21:00 +0000 (01:21 +0200)]
games/nes: support Battle City two players mode with joypads

10 years ago6a, 6c, 6l: fix copy propagation
Aram Hăvărneanu [Fri, 30 May 2014 10:28:01 +0000 (12:28 +0200)]
6a, 6c, 6l: fix copy propagation

Without an explicit signal for a truncation, copy propagation will
sometimes propagate a 32-bit truncation and end up overwriting uses of
the original 64-bit value.

This was independently discovered and fixed in Go. See:
http://golang.org/issue/1315
https://codereview.appspot.com/6002043/

Thanks Charles Forsyth for tips and advice.

10 years agowe look for strings.c, it is broken, this strings.c will make us go.
cinap_lenrek [Fri, 30 May 2014 02:05:18 +0000 (04:05 +0200)]
we look for strings.c, it is broken, this strings.c will make us go.

10 years agopc, pc64: simplify reboot code
cinap_lenrek [Thu, 29 May 2014 16:50:52 +0000 (18:50 +0200)]
pc, pc64: simplify reboot code

as we do system reset and reboot only from boot processor cpu0 now,
theres no need for active.rebooting conditional variable.
mpshutdown() will unconditionally park application processors and
and cpu0 boots the new kernel or calls mpshutdown() causing system
reset.

10 years agopc: initiate machine reset only from boot processors in mpshutdown()
cinap_lenrek [Thu, 29 May 2014 16:24:40 +0000 (18:24 +0200)]
pc: initiate machine reset only from boot processors in mpshutdown()

in vmware, mpshutdown() used to hang in i8042reset() when not
called from the boot processor, so instead of reseting from first
cpu that acquires the shutdown lock, we park all application
processors and let the boot processor do the reset.

10 years agogames/md: bug fixes
aiju [Wed, 28 May 2014 22:50:06 +0000 (00:50 +0200)]
games/md: bug fixes

10 years agoape/stdio: set errno to EMFILE when running out of streams
cinap_lenrek [Wed, 28 May 2014 22:34:47 +0000 (00:34 +0200)]
ape/stdio: set errno to EMFILE when running out of streams

10 years agogames/snes: originwindow confuses the cat
aiju [Mon, 26 May 2014 23:01:55 +0000 (01:01 +0200)]
games/snes: originwindow confuses the cat

10 years agopage(1): or
cinap_lenrek [Mon, 26 May 2014 08:00:39 +0000 (10:00 +0200)]
page(1): or

10 years agopage(1): minus
cinap_lenrek [Mon, 26 May 2014 07:59:57 +0000 (09:59 +0200)]
page(1): minus

10 years agopage(1): theres no -r option, nor multipage restrictions
cinap_lenrek [Mon, 26 May 2014 07:52:47 +0000 (09:52 +0200)]
page(1): theres no -r option, nor multipage restrictions

10 years agomerge
aiju [Sun, 25 May 2014 23:11:08 +0000 (01:11 +0200)]
merge

10 years agogames/md: moonwalker!
aiju [Sun, 25 May 2014 23:10:46 +0000 (01:10 +0200)]
games/md: moonwalker!

10 years agopc64: fix ulongs for address of devarchs realmodemem file
cinap_lenrek [Sun, 25 May 2014 22:45:10 +0000 (00:45 +0200)]
pc64: fix ulongs for address of devarchs realmodemem file

10 years agodevproc: handle 64bit address writes to /proc/n/mem files
cinap_lenrek [Sun, 25 May 2014 22:27:06 +0000 (00:27 +0200)]
devproc: handle 64bit address writes to /proc/n/mem files

procwrite() did truncate the offset to 32bit ulong.
introduce off2addr() function that does the sign
extension hack and use it conststently for Qmem
reads and writes.

10 years agomerge
cinap_lenrek [Mon, 26 May 2014 20:49:07 +0000 (22:49 +0200)]
merge

10 years agokernel: simplify fdclose()
cinap_lenrek [Mon, 26 May 2014 20:47:34 +0000 (22:47 +0200)]
kernel: simplify fdclose()

10 years agodevproc: fix close and closefiles procctl
cinap_lenrek [Mon, 26 May 2014 20:43:21 +0000 (22:43 +0200)]
devproc: fix close and closefiles procctl

for the CMclose procctl, the fd number was not
bounds checked before indexing in the Fgrp.fd
array.

for the CMclosefiles, we looped fd from 0..maxfd-1,
but need to loop from 0..maxfd as maxfd is inclusive.

10 years agogames/md: small cpu and vdp bug fixes
aiju [Sun, 25 May 2014 19:45:13 +0000 (21:45 +0200)]
games/md: small cpu and vdp bug fixes

10 years agopc64: cleanup mmuzap
cinap_lenrek [Sun, 25 May 2014 18:34:26 +0000 (20:34 +0200)]
pc64: cleanup mmuzap

10 years agogames/md: first bug fixes
aiju [Sat, 24 May 2014 23:11:21 +0000 (01:11 +0200)]
games/md: first bug fixes

10 years agoadded crude version of games/md
aiju [Sun, 25 May 2014 21:14:23 +0000 (23:14 +0200)]
added crude version of games/md

10 years agolibauth: dont print blobs in auth_proxy error strings
cinap_lenrek [Sat, 24 May 2014 17:49:54 +0000 (19:49 +0200)]
libauth: dont print blobs in auth_proxy error strings

10 years agocpu: remove duplicate environment and chdir($home) code (thanks qrstuv)
cinap_lenrek [Sat, 24 May 2014 00:09:52 +0000 (02:09 +0200)]
cpu: remove duplicate environment and chdir($home) code (thanks qrstuv)

newns() (called by auth_chuid()) already prepares the
environment variables and puts us in a sane working
directory (as specified by the namespace file).

10 years agokernel: fix read size calculation in pio() demand load
cinap_lenrek [Fri, 23 May 2014 23:27:57 +0000 (01:27 +0200)]
kernel: fix read size calculation in pio() demand load

on amd64, the text segment is aligned and padded to
2MB, but segment granularity is 4K which can give
us page faults that are beyond the highest file
offset. this is perfectly valid, but was not handled
correctly in pio().

10 years agolibc: avoid static table and supurious reads in nsec()
cinap_lenrek [Fri, 23 May 2014 16:56:20 +0000 (18:56 +0200)]
libc: avoid static table and supurious reads in nsec()

use two per process memory slots, one for the
pid and one for the fd instead of a global table
avoiding the case when the table gets full.

instead of calling pread() on the cached fd
(dangerous as it has side effects when the
fd was not closed), we check if the cached fd
is still good  using fd2path() when called
the first time in this process.

10 years agolibc: revert nsec() change, bring back filedescriptor caching
cinap_lenrek [Tue, 20 May 2014 05:05:53 +0000 (07:05 +0200)]
libc: revert nsec() change, bring back filedescriptor caching

theres big performance regression with this using
cwfs. cwfs calls time() to update atime on every
read/write which now causes walks on /dev.

reverting to the previous version for now. in the
long run, we'll use new _nsec() syscall but this
has to wait for a later release once new kernels
are established.

10 years agosyscall: add missing _nsec() declaration
cinap_lenrek [Tue, 20 May 2014 03:21:22 +0000 (05:21 +0200)]
syscall: add missing _nsec() declaration