Commit graph

4671 commits

Author SHA1 Message Date
stanley lieber
5635ac3f68 fortunes: go away. 2015-07-22 21:35:50 -04:00
cinap_lenrek
ab4b7c2573 ip/httpfile: fix flushes, fix concurrent reads, set error string
Tflush handling was wrong, we cannot respond to the old
request if we have not actually removed the req from the
in progress block queue.

when reads are issued concurrently, we have to set b->len
before the block is inserted into the inprogress list.
otherwise findblock() is unable to find it and no requests
can be queued on the block. this caused the same offset
to be downloaded multiple times.

set the errstr in getrange() so in case of an error, we dont
get some random previous error string.
2015-07-23 03:24:39 +02:00
cinap_lenrek
497daed116 kernel: make sure fd is in range in fdclose()
as the Fgrp can be shared with other processes, we have to
recheck the fd index after locking the Fgrp in fdclose()
to make sure not to read beyond the bounds of the fd array.
2015-07-23 22:56:49 +02:00
cinap_lenrek
323184d775 kernel: simplify syspipe() 2015-07-23 22:34:58 +02:00
cinap_lenrek
ff03b72ed5 devaoe: more nil vs. 0 2015-07-23 22:05:46 +02:00
cinap_lenrek
0b3fd7c052 devaoe: fix off by one in aoeerror(), consistent use of nil for pointers, error handling 2015-07-22 21:56:11 +02:00
cinap_lenrek
769b3f1c2f kernel: consistent use of nil for pointer in sysfile.c 2015-07-22 21:54:07 +02:00
cinap_lenrek
1fcc84d072 kernel: cleanup chan.c to consistenly use nil instead of 0 for pointers 2015-07-22 19:17:10 +02:00
cinap_lenrek
8db5af02d8 kernel: make sure the swap device has a reasonable capacity in setswapchan() 2015-07-22 19:15:51 +02:00
cinap_lenrek
47bb311d39 devmnt: do not use user buffer to update the mount cache
using the user buffer has a race where the user can modify
the buffer from another process before it is copied into the cache.
this allows poisoning the cache for every file where the user
has read access.

instead, we update the cache from kernel memory.
2015-07-19 20:25:42 +02:00
cinap_lenrek
157b7751e7 devstream: fix mistake 2015-07-19 03:36:53 +02:00
cinap_lenrek
64136bfd16 stream(3): fix reference 2015-07-19 03:34:08 +02:00
cinap_lenrek
9150d2773f fcp: use iounit() to determine buffer size, reduce number of worker procs to 8 2015-07-19 03:32:38 +02:00
cinap_lenrek
1d93677070 cp: experimental stream support 2015-07-19 03:32:09 +02:00
cinap_lenrek
71cda09d1e devstream: fast sequential file access with 9p pipelining experiment 2015-07-19 03:31:17 +02:00
cinap_lenrek
0bdfa3699d pc: check Sse (bit 25) in cpuiddx before enabling fxsr in cr4 (fixes crash on the pentium II) 2015-07-16 08:51:06 +02:00
cinap_lenrek
e6d84a3fa6 aux/cpuid: make sure extended feature bits are available (fixes crash on the pentium II) 2015-07-16 08:49:24 +02:00
cinap_lenrek
bae3ac29fc devproc: make sure statbufread offset wont turn negative 2015-07-15 17:09:05 +02:00
cinap_lenrek
ea7bca1829 fcp: fix wrong write pointer offset when read returns less than DEFB bytes 2015-07-14 20:44:34 +02:00
cinap_lenrek
2aa2f9f359 kernel: remove debugalloc.c 2015-07-14 06:51:02 +02:00
cinap_lenrek
90bd02d5af mk9660: write data in alphabetical order
*after* writing, the directory tree gets alphabetically sorted for
path table. this causes data to not be in the same order as it was
written causing seeks when taring up the filesystem.

so instead write the files in alphabetical order as well to better
match the directory sorting.
2015-07-14 22:33:27 +02:00
cinap_lenrek
2e85e32886 9660srv: keep data and metadata separate in the cache with a tag
data on the disk is layed out sequentially and directory information
is at the end of the disk. we want to keep data and metadata separated
so that reading large sequential files will not evict the directory
information from the cache causing long seeks.

for that, we tag the clusters (an 8th for metadata, and the rest
for data) and getbuf() will only evict clusters of the same tag.
2015-07-14 22:23:16 +02:00
cinap_lenrek
f5688dd6c9 9660srv: go back to 128k clusters
doing tests taring up 9front.iso shows the following:

lowering the cluster size back to 128k avoids over half the
reads. 837888 sectors read for 512k vs. 347712 sectors with
128k cluster size.
2015-07-13 18:37:56 +02:00
cinap_lenrek
2559f92a83 inst: fix download task using ip/httpfile to mount a iso over http and prompt for installurl 2015-07-13 06:28:46 +02:00
cinap_lenrek
41372f346a httpfile: fix evictblock() so we wont consume all the memory 2015-07-13 05:51:04 +02:00
cinap_lenrek
39c9f1abbb libFLAC: fix compiler warnings by properly declaring void function arguments 2015-07-13 02:56:51 +02:00
cinap_lenrek
bab59e5749 python: HAVE_STDINT_H 1 2015-07-13 02:38:05 +02:00
cinap_lenrek
737c3edeba ape: add stdint.h, fix SSIZE_MAX and add SIZE_MAX to limits.h 2015-07-13 02:36:48 +02:00
cinap_lenrek
cd9da74cbc cpp: search source file directory first for quoted #include (thanks Ori_B)
foo.c includes bar/bar.h, which includes "baz.h"; it wants bar/baz.h
meanwhile, it also includes meh/quux.h, which includes "baz.h"; it wants meh/baz.h
2015-07-13 00:54:56 +02:00
cinap_lenrek
a5efa0e252 ether82563: fix multicast filter (based on openbsd em(4) driver) 2015-07-12 19:21:53 +02:00
cinap_lenrek
cbd1ca6877 page: make lookahead fetch work in backwards direction 2015-07-11 02:42:14 +02:00
cinap_lenrek
1d5a2aa487 tftpd: count only options we understand so we wont send empty oack message 2015-07-11 02:35:49 +02:00
cinap_lenrek
0f5f226ba1 etherrt2860: add multicast stub 2015-07-11 02:34:28 +02:00
cinap_lenrek
2e5e5cde71 etheriwl: add multicast stub 2015-07-11 02:33:57 +02:00
cinap_lenrek
b4f9ca6c97 etherwpi: dont enable transmit power for invalid channels, add multicast stub 2015-07-11 02:33:16 +02:00
cinap_lenrek
266057f0da wifi: reflect current transmit rate in mbps 2015-07-10 19:13:15 +02:00
cinap_lenrek
7cf2321ffb etherwpi: afra support 2015-07-10 18:59:57 +02:00
cinap_lenrek
34a0f4660d etheriwl: dont clear descriptors after completion 2015-07-10 18:50:37 +02:00
cinap_lenrek
b5655b7247 wifi: adjust transmit rate on error (for etheriwl), small mkfile changes
Wnode gets two new counters: txcount and txerror
and actrate pointer that will be between minrate
and maxrate.

driver should use actrate instead of maxrate for
transmission when it can provide error feedback.

when a driver detects a transmission failed, it calls
wifitxfail() with the original packet. wifitxfail() then
reduces wn->actrate.

every 256th packet, we optimistically increase wn->actrate
before transmitting.
2015-07-10 09:04:05 +02:00
cinap_lenrek
4ec93f94c9 kernel: use HDR_MAGIC constant to handle Exec header extension, make rebootcmd() handle AOUT_MAGIC macro 2015-07-10 23:56:39 +02:00
cinap_lenrek
3ca9ac70c4 sysexec(): need () arround AOUT_MAGIC comparsion to handle #define hack on mips 2015-07-09 08:51:38 +02:00
cinap_lenrek
e3217c6f6a sysexec(): make the mips compiler happy 2015-07-09 08:34:20 +02:00
cinap_lenrek
9ab096a707 kernel: reject bogus two byte "#!" shell scripts in sysexec()
- reject files smaller or equal to two bytes, they are bogus
- fix out of bounds access in shargs() when n <= 2
- only copy the bytes read into line buffer
- use nil for pointers instead of 0
2015-07-09 08:03:18 +02:00
cinap_lenrek
8ed25f24b7 kernel: various cleanups of imagereclaim(), pagereclaim(), freepages(), putimage()
imagereclaim(), pagereclaim():
- move imagereclaim() and pagereclaim() declarations to portfns.h
- consistently use ulong type for page counts
- name number of pages to free "pages" instead of "min"
- check for pages == 0 on entry

freepages():
- move pagechaindone() call to wakeup newpage() consumers inside
  palloc critical section.

putimage():
- use long type for refcount
2015-07-09 00:01:50 +02:00
cinap_lenrek
fcb9abccbb 5e: enable VFP emulation by default, doubles only need to be 4 byte aligned
this adds -F flag to 5e (same as 5l) to disable VFP emulation
and makes VFP emulation the default.
2015-07-08 02:13:16 +02:00
cinap_lenrek
63879193e7 pc64: use unsigned long for kmapindex and mmu counts avoiding signed integer division 2015-07-07 21:13:36 +02:00
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