cinap_lenrek
cd92790c50
ape: port libc smp tas() for arm
2015-07-07 19:53:26 +02:00
cinap_lenrek
6506147066
libc/arm: implement _tas() with LDREX/STREX, execute memory barrier on smp systems (zynq)
2015-07-07 19:24:10 +02:00
cinap_lenrek
5458506881
all kernels: declare _tas() to prevent pulling in libc version (for libmemdraw)
2015-07-07 19:17:55 +02:00
cinap_lenrek
e2a6e622c7
5e: approximate LL/SC with cas()
2015-07-07 06:30:34 +02:00
cinap_lenrek
fcfc849dd5
5e: make sure stack base is aligned to avoid unaligned memory trap on arm
2015-07-07 06:26:56 +02:00
stanley lieber
20e255110c
open(2): fix typo
2015-07-01 21:46:47 -04:00
cinap_lenrek
562f1b51ee
nusb/audio: dont sysfatal on bad endpoint (no altc)
2015-06-29 22:28:23 +02:00
cinap_lenrek
4aee2b803e
nusbrc: handle fat formated usb drives without partition table
...
on some usb drives, there is no dos partition table, so check
the filesystem type and consider the whole drive.
2015-06-28 21:50:30 +02:00
cinap_lenrek
37156fb0b2
etherwpi: remove debug prints, use iprint() in interrupt
2015-06-28 21:13:34 +02:00
cinap_lenrek
8799bf292d
wpa: do not prompt for key when there is already one in factotum
2015-06-28 20:40:19 +02:00
cinap_lenrek
ed238e7ef8
etherwpi: Intel PRO Wireless 3945abg driver based on openbsd's if_wpi (thanks aap)
2015-06-28 18:32:54 +02:00
cinap_lenrek
00328b5759
pc, pc64: toggle bit 2 in port 0x61 to reset and enable PCI SERR# nmi's, print nmi status
2015-06-28 18:22:36 +02:00
stanley lieber
167ab1f0fa
fortunes: No we can't.
2015-06-26 14:10:01 -04:00
cinap_lenrek
ee735f1088
wifi: berlin prime bunny hopping
...
- reduce delay for channel hop to 200ms
- use 1000ms timeout for auth response (dont hop channels while we wait)
- bunny hop sequence is mathematically prooven
2015-06-21 19:35:08 +02:00
cinap_lenrek
6b4a9c5d8d
5e: implement DSB,DMB,ISB and CLREX instructions
2015-06-19 14:43:32 +02:00
cinap_lenrek
575015d2b0
kernel: do not pull in atom.s from libc for arm kernels
...
- provide our own copy of cas() in l.s
- replace use of libc ainc()/adec() with portable incref()/decref()
2015-06-19 10:27:26 +02:00
cinap_lenrek
e6220b39c9
exec(2): return register (R0) contains address of Tos structure.
2015-06-19 09:02:59 +02:00
cinap_lenrek
1bd4c243ad
kernel: ignore last page at the top of virtual kernel address space for xalloc()
...
avoding kernel address -BY2PG because of end pointer wrapping to zero.
2015-06-19 02:45:58 +02:00
stanley lieber
cb2a55aeb3
ndb(6): fix typo (thanks, pena)
2015-06-18 15:14:06 -04:00
stanley lieber
e6658c55af
dhcpd(8): the fs attribute refers to the file server, not the name server (thanks, pena)
2015-06-18 14:28:25 -04:00
cinap_lenrek
1bf5b4ad4e
zynq: use KADDR() for kmap() if we can avoiding the mapping
2015-06-18 12:16:54 +02:00
cinap_lenrek
0dab8869ad
kernel: ignore memory pages with singular kernel addresses
...
addresses va's of 0 and -BY2PG cause trouble with some memmove()/memset()
implementations and possibly other code because of the nil pointer
and end pointers wrapping to zero.
2015-06-18 12:15:33 +02:00
cinap_lenrek
fd8597ac31
zynq: fix barriers
...
unlock()/iunlock():
we need to place the coherence() *before* "l->key = 0", so that any
stores that where done while holding the lock become observable
*before* other processors see the lock released.
cas()/tas():
place memory barrier before successfull return to prevent reordering.
2015-06-18 04:35:46 +02:00
cinap_lenrek
58dc03cec0
kernel: do not inherit Proc.dot (current working directory) in kproc()
...
making sure to close the dot in every kproc appears repetitive,
so instead stop inheriting the dot in kproc() as this is usually
never what you wanted in the first place.
2015-06-18 03:13:50 +02:00
cinap_lenrek
b48078c12c
kernel: do not inherit current directory channel (dot) to pager
...
kproc() inherits dot and slash, pager needs to drop these
channels, otherwise it will keep the files open preventing
say, ramfs to exit.
2015-06-18 22:58:56 +02:00
cinap_lenrek
921aa0a6c3
stats: add kernel malloc and kernel draw allocation size graphs
2015-06-16 08:08:42 +02:00
cinap_lenrek
45b79036be
devcons: add current pool allocations to #c/swap
2015-06-16 08:05:33 +02:00
cinap_lenrek
6c99d2f028
kernel: remove waserror() arround newpage() in mntcache
...
newpage() does not raise error().
2015-06-16 06:05:12 +02:00
cinap_lenrek
64ed3658d2
kernel: add pagechaindone() to wakeup processes waiting for memory
...
we keep the details about palloc in page.c, providing pagechaindone()
for mmu code to be called after a series of pagechainhead() calls.
2015-06-15 17:40:47 +02:00
cinap_lenrek
8a3b388ffe
kernel: implement separate wait queues for page allocation
...
give kernel processes and local disk file servers (procs
having noswap flag set) a clear advantage for page allocation
under starved condition by giving them ther own wait queue so
they get readied as soon as pages become available.
2015-06-15 16:05:00 +02:00
cinap_lenrek
9ab48ee370
hjfs: defer parent directory permission check for wstat
...
check parent directory permission *after* we determined
that the new name does not exist in the parent, so that
when the new name is the same as old name then no write
permission is required in the parent directory.
2015-06-15 08:28:10 +02:00
cinap_lenrek
13ec55922f
hjfs: fix wstat
...
- rename to same name is ok
- only truncate when file size is different
- check for uid/gid *change*, not if it is specified or not
2015-06-15 01:57:54 +02:00
cinap_lenrek
5adf0606f1
nusb/serial: remove unused channel
2015-06-15 00:30:19 +02:00
cinap_lenrek
584caf6d1c
zynq: remove unused PTE typedef
...
all the mmu code uses ulong, so get rid of the typeded.
2015-06-15 22:32:15 +02:00
cinap_lenrek
13a79fbb72
zynq: remove unused statistics fields from Mach structure
2015-06-15 22:13:55 +02:00
cinap_lenrek
65db705481
ndb/dns: cleanup forwarding code (redistrib())
...
instead of copying the whole packet, just save the
udp header and restore it aftwards. dont call redistrib()
when there are no forwards (this should be almost always
the case).
2015-06-14 21:31:44 +02:00
ftrvxmtrx
a55eed44c6
aux/vga: == is not strncmp
2015-06-13 21:28:33 +02:00
cinap_lenrek
7f4b037b0b
htmlroff: fix wrong newline in \name handling (| -> ||)
2015-06-13 20:58:56 +02:00
ftrvxmtrx
453ca8db43
qc, 9/ppc, 9/mtx: fix wrong if statements
2015-06-13 20:21:26 +02:00
cinap_lenrek
d6eb7cc71c
kernel: dont use smalloc() to allocate pte array in ibrk()
...
when we'r out of kernel memory, it is probably better to
let that alloc fail instead of hanging while holding the
segment qlock.
2015-06-13 17:50:26 +02:00
cinap_lenrek
27fb90eb6e
vblade, cifs, usbuhci: fix parenthesis
2015-06-13 15:03:56 +02:00
cinap_lenrek
9c1dff3fa9
lock: reopen lockfile after changing mode to make lock effective
...
lock is acquired on open/create when file has DMEXCL set in mode,
so we need to reopen the file after setting the bit with wstat.
2015-06-13 15:01:02 +02:00
cinap_lenrek
1473e5d437
lib9p: fix lib9p wstat qid.type/mode checks (fixes lock(1) for ramfs/hjfs)
2015-06-13 12:43:15 +02:00
cinap_lenrek
f92057cc39
ndb/dns: use same buffer size of udp packet in redistrib() as dnudpserver() (fixes assert)
2015-06-13 22:37:26 +02:00
cinap_lenrek
cc3abe39aa
games/doom: remove Makefile
2015-06-12 17:50:43 +02:00
cinap_lenrek
e4c3f92c16
games/doom: fix desyncing demo (thanks qwx)
...
the code used P_Random()-P_Random() in some places which has
undefined evaluation order resulting in the wrong pseudo random
numbers being returned causing demo playback to desync.
this change adds P_Random2() function which returns the right
delta-random number and uses it in place of P_Random()-P_Random()
expression.
2015-06-12 17:28:09 +02:00
cinap_lenrek
34ae4649cc
kernel: fix accounttime() for HZ >= 1000
...
"milli-CPU's" is too low resolution for the decaying load average
calculation when HZ >= 1000.
2015-06-12 14:28:31 +02:00
cinap_lenrek
2112ad6793
zynq: increase kernel memory for graphics
2015-06-11 21:26:26 +02:00
cinap_lenrek
d8bcd6c8e4
zynq: mouse acceleration
2015-06-11 16:44:05 +02:00
cinap_lenrek
36d2504adb
zynq: make screen and cursor kprocs exit properly
2015-06-11 16:14:11 +02:00