Commit graph

1680 commits

Author SHA1 Message Date
cinap_lenrek
da66a67a94 ether8169: add RTL8101/8102E macid 2013-03-12 21:07:40 +01:00
ftrvxmtrx
f28ccb0ed9 etheriwl: 6005 - set rom calibration flags and temperature sensor offset 2013-03-12 00:14:55 +01:00
cinap_lenrek
25f04a68a1 ape: threadsafe errno
store errno on the private process stack so its always per process
and not just per memory space. errno itself becomes a macro
dereferencing int *_errnoloc; which is initialized from main9.s
pointing to the private stack location.

various fixes in programs that just imported errno variable with
"extern int errno;" instead of including <errno.h>.
2013-03-11 18:57:22 +01:00
cinap_lenrek
631aef280d ape: fix thread race with close() and select()
in ape close(), do the real filedescriptor _CLOSE() *after* we cleared
the _fdinfo[] slot because once closed, we dont own the slot anymore and
another process doing open() can trash the slot. make sure open() retuns
fd < OPEN_MAX.

double check in _startbuf() holding mux->lock if the fd is already buffered
preveting running double copyprocs on a fd.

dont zero the mux->rwant/ewant bitmaps at the end of select() as we do not
hold the mix->lock.

in _closebuf() kill copyproc while holding the mux->lock to make sure the
copyproc isnt holding it at the time it is killed. run kill() multiple times
to make sure the proc is gone.
2013-03-11 01:16:34 +01:00
cinap_lenrek
d526ee0750 ape/malloc: make malloc and free threadsafe for python 2013-03-11 00:55:26 +01:00
cinap_lenrek
48b0c10681 ape/stdio: make fopen() quasi threadsafe for python
python uses processes sharing memory. it requires at least fopen() to
be called by multiple threads at once so we introduce _IO_newfile()
which allocates the FILE structure slot under a lock.
2013-03-11 00:48:35 +01:00
cinap_lenrek
530a2bc5e9 ape: check for invalid filedescriptors in select() 2013-03-10 18:35:07 +01:00
cinap_lenrek
9f25f9504a nusb/disk: add small delay after unit start command (for thinkpad sdcard reader)
diskparts fails on thinkpad x200 sdcard reader if we dont
give the unit some time to startup. the device took about
100ms to become ready so status poll loop with a long
timeout would be overkill.
2013-03-10 04:06:42 +01:00
cinap_lenrek
b6581f21e5 aux/wpa: check reply counter only after mic check 2013-03-09 18:12:49 +01:00
cinap_lenrek
6f374a5243 add wpa key setup program aux/wpa 2013-03-09 17:33:58 +01:00
cinap_lenrek
26792d8db5 wifi: add experimental wpa / tkip encryption support 2013-03-09 17:28:41 +01:00
cinap_lenrek
420efd93d7 factotum: add wpapsk client authentication 2013-03-09 17:22:59 +01:00
aiju
d9dd0970b1 added geigerstats 2013-03-08 20:51:08 +01:00
cinap_lenrek
cc2017f0b3 aan: fix structure padding for amd64 2013-03-06 14:11:21 +01:00
ppatience0
95d41e8ff4 fltfmt: make %g print decimal numbers less than 1 with a leading zero 2013-03-03 14:12:33 -05:00
ppatience0
1a88844069 fltfmt: %.0g should print with one significant figure 2013-03-03 13:21:17 -05:00
ppatience0
3d908529e9 fltfmt: fix %g not printing as %e in some cases when it should 2013-03-01 17:23:26 -05:00
cinap_lenrek
6bd2c26a85 nusb/kb: fix "Home" key producing "7" with some usb keyboards (import from sources patch/usb-khome)
Fixes the problem with certain keyboards generating "7" on "Home" key press.

http://9fans.net/archive/2013/03/8
http://9fans.net/archive/2013/03/10
2013-03-01 19:53:11 +01:00
cinap_lenrek
03ae4fa162 6c: fix 32bit pointer truncation (from patch/6c-sugen-types)
1. Go group spotted that a slightly-obscured pointer move was done by AMOVL not AMOVQ.
2. Inspecting the code further, I noticed that other pointer types were set to TLONG not TIND,
   causing similar truncation of pointers to 32 bits.
2013-02-28 19:23:54 +01:00
cinap_lenrek
8b72726549 ape: add PASS_MAX constant for getpass() to limits.h (from patch/ape-pass_max)
add PASS_MAX to limits.h for ape, and make getpass respect it. also increase the size of
the maximum passwords (we use long ones at work). Needed for native port of SVN (in progress).
2013-02-28 19:21:03 +01:00
ppatience0
24ea306fa6 fltfmt: %.ng is supposed to print a number with n significant figures, but it prints it with n+1. This fixes that behaviour. 2013-02-27 16:15:18 -05:00
cinap_lenrek
70b9c8574f cwfs: fix mtime for dump yyyy directories 2013-02-25 06:11:43 +01:00
cinap_lenrek
5c4f2f9d35 sdiahci: only wait for drives that are in the process of becoming ready when onlining, add *noahci option 2013-02-23 14:05:51 +01:00
cinap_lenrek
3a79bf2ae6 libip: make myetheraddr() accept # device names 2013-02-23 09:33:04 +01:00
ppatience0
82c816d15c ether8169: add another RTL8111/8168B mac id 2013-02-22 01:14:31 -05:00
cinap_lenrek
3612d281aa sdiahci: fix mistake 2013-02-22 13:47:04 +01:00
cinap_lenrek
f5ff6d6f34 sdiahci: prevent nil pointer dereference on spurious interrupt status
on some controllers, we get bogus interrupt indication
for non present drives. ack the irq but ignore.
2013-02-22 12:23:01 +01:00
cinap_lenrek
56d9f57dc8 ether8169: add RTL8111e mac id (thanks glorfdev for the patch) 2013-02-22 10:37:47 +01:00
cinap_lenrek
5bcc932168 netif: fix stat() on "stats" and "ifstats" files in network interface
the kernel would go into endless loop when stating "stats" and "ifstats"
files and the network interface having no connections, or otherwise return
wrong stat info.
2013-02-21 16:10:28 +01:00
cinap_lenrek
00ba1aac9e etheriwl: fix rominit
we used use the *last* block in otp block list instead of
the block *before* the last block resulting in wrong eeprom
data (1000er series only)
2013-02-19 07:57:30 +01:00
khm
e68130f082 add wifi link 1000 pci id 2013-02-18 21:04:19 -05:00
cinap_lenrek
2fc31e9a70 9boot: fix 9bootiso
rearrange sub.c for putc(), readn(), memcmp(), memmove(), strchr() and strlen()
and uart to fit into the first 2K of the image.
2013-02-18 04:16:33 +01:00
cinap_lenrek
c9c06dd8ba 9boot: serial console support 2013-02-18 01:22:29 +01:00
cinap_lenrek
364f1f78d4 9boot: make print handle \n -> \r\n conversion, style 2013-02-17 21:48:51 +01:00
ppatience0
4aae319f76 rdbio: fix bug where a->user never gets set if Bopen fails. 2013-02-17 09:55:03 -05:00
ftrvxmtrx
cb25ae9fe6 merge 2013-02-17 12:35:01 +01:00
ftrvxmtrx
0f2caad8b6 ftpfs: fix wrong comment 2013-02-17 12:32:50 +01:00
cinap_lenrek
3da5b76c0b 9boot: preserve configuration on boot error, add show command 2013-02-17 09:30:02 +01:00
ftrvxmtrx
b8990cfbb4 ftpfs: do not call getfields after NLST 2013-02-16 22:06:26 +01:00
cinap_lenrek
012273f39d etheriwl: simplify 2013-02-16 21:37:36 +01:00
cinap_lenrek
c5c9233c3d etheriwl: add otp rom initialization (for 1000er series, untested) 2013-02-16 21:16:05 +01:00
cinap_lenrek
f6290afb14 etheriwl: use first available antenna from eeprom txantmask instead of hardcode to antenna A 2013-02-16 04:42:42 +01:00
ftrvxmtrx
a8d97f31f6 etheriwl: move runtime dc calibration block to proper place 2013-02-16 03:28:21 +01:00
ftrvxmtrx
d676eaf59a etheriwl: support for Centrino Advanced-N 6205 2013-02-16 02:56:40 +01:00
cinap_lenrek
126d7e6feb etheriwl: avoid leaking blocks when controller breaks 2013-02-15 22:56:54 +01:00
cinap_lenrek
8deac637d7 merge 2013-02-15 22:21:45 +01:00
cinap_lenrek
9bcf45da9a etheriwl: fix bugs, support for Centrino Ultimate-N 6300 2013-02-15 22:20:25 +01:00
ftrvxmtrx
e712752229 pci: add intel qm67 pch 2013-02-14 01:04:45 +01:00
ppatience0
6d7bb96b22 merge 2013-02-13 07:37:26 -05:00
ppatience0
0734a0b836 ether8169: support for RTL8111/8168B 2013-02-13 07:12:51 -05:00
cinap_lenrek
af3dad5490 nusb/disk: allow 12 and 16 byte raw scsi commands (from erik quanstro) 2013-02-13 10:03:53 +01:00
cinap_lenrek
0243f52bae etheriwl: dont let transmit change back receiver settings when in promisc mode, cleanup 2013-02-13 08:23:54 +01:00
cinap_lenrek
78fc90ec86 etheriwl: support for WiFi Link 4965 2013-02-12 14:28:22 +01:00
cinap_lenrek
8d271549cd wifi: filter SNAP ethernet orgcode only 2013-02-11 16:02:16 +01:00
cinap_lenrek
1f6a402c46 wifi: reset status when clearing essid 2013-02-11 02:10:36 +01:00
cinap_lenrek
6e0835f7d8 wifi: clear out ssid in node table entry, cleanup 2013-02-11 02:02:44 +01:00
cinap_lenrek
3376977d06 wifi: actually check if management replies are for us 2013-02-11 01:29:10 +01:00
cinap_lenrek
ffb3ded366 etheriwl: automatic channel scanning, transmission handling, promisc mode
the channel= plan9.ini parameter isnt needed anymore as we now
hop the channels to scan for beacons. the status is also indicated
with the link led :-)

handle all these flags on packet transmission like RTS for big
packets and sending data packets to the AP instead of broadcasting
everything.

properly setup bss hardware node table and filtering. now promisc
mode is only used when requested.

handle deauth message from ap.

increase node table to 32 entries.
2013-02-11 00:09:41 +01:00
stanley lieber
c2f5d36d7f fix typo 2013-02-09 23:34:15 -06:00
cinap_lenrek
972e4e75ee merge 2013-02-10 05:05:40 +01:00
cinap_lenrek
9ba9b846ee etheriwl: add /lib/firmware to bootfs.paq proto file 2013-02-10 05:04:31 +01:00
cinap_lenrek
ccbfdd9e91 wifi: lie a bit more about the supported rates to get into more ap's 2013-02-10 04:55:57 +01:00
stanley lieber
20d2f551c2 add Intel (R) WiFi Link 5100 AGN, vid/did: 8086/4237 2013-02-09 21:54:44 -06:00
cinap_lenrek
97d136fb21 etheriwl: implement 4965 firmware bootstrap (untested) 2013-02-10 01:26:28 +01:00
cinap_lenrek
6ffe4e58b3 etheriwl: check RF-Kill switch on attach 2013-02-10 00:14:17 +01:00
cinap_lenrek
4204572000 etheriwl: fix mistake 2013-02-10 23:38:08 +01:00
cinap_lenrek
d5305dc199 exportfs: applying exportfs-chdir patch (from sources)
Fix the behavior of exportfs -r.

Check the return of chdir(srv) to prevent exporting accidentally
the current working directory when the directory specified
with option -r doesn't exist.

Also fix at the same time the missing trailing \n in error
messages printed just before exits().
2013-02-10 23:31:26 +01:00
cinap_lenrek
3a697585f0 etheriwl: work towards supporting other cards than 5300, gather channel information 2013-02-10 23:02:21 +01:00
cinap_lenrek
ab6a2eb0b6 etheriwl: fix command queue handling
we have to decrement the queue counter for all tx rings
*including* the command ring 4.

zero the command buffer for the crystal callibration
command.
2013-02-09 19:12:51 +01:00
cinap_lenrek
09a5825832 etheriwl: experimental intel wifi link driver 2013-02-09 03:19:50 +01:00
ppatience0
f1727a6742 ape: fix bug in access() 2013-02-08 18:01:31 -05:00
ftrvxmtrx
0b212ed505 cc/lex: do not crash on -I without arg 2013-02-02 16:54:09 +01:00
cinap_lenrek
d41f67c2b9 audio: fix delay control, increase default buffer delay to 40ms
just doing a single sleep isnt enougth, as we get woken
up for every block!
2013-02-01 15:23:38 +01:00
cinap_lenrek
0b268440b9 6l: eleminate NOP X0 instructions (from eriks 6l-nop-x0 patch)
erik found that -N left NOPs in that 6l couldn't ignore.
add Xn to the NOP table.

bonanza; cat > fp.c
#include <u.h>
#include <libc.h>
#include <stdio.h>

void
main(void)
{
        double g;

        g = -0.;

        print("%g\n", g);
        printf("%g\n", g);
        exits("");
}
bonanza; 6c -N -FVTw fp.c
bonanza; 6l -o 6.fp fp.6
main: doasm: notfound from=6f to=34 (939)       NOP     ,X0
main: doasm: notfound from=6f to=34 (939)       NOP     ,X0
main: doasm: notfound from=6f to=34 (939)       NOP     ,X0
2013-02-01 00:15:02 +01:00
cinap_lenrek
029a8087a3 httpd: fix rane requests
we gave wrong content-length in range requests. r->stop - r->start
is wrong because r->stop is the byte offset of the *last* byte, not
the *next* byte after the last.
2013-01-31 22:51:21 +01:00
cinap_lenrek
e53ece53ed httpfile: fix range requests
byte ranges use closed intervals (inclusive first
and last byte offsets)
2013-01-31 22:48:56 +01:00
cinap_lenrek
5a93a2a983 usbehci: remove panic() calls from interrupts if stuff isnt ready (spurious interrupts?) 2013-01-31 23:43:04 +01:00
cinap_lenrek
a2b83a5aea nusb/kb: increase maximum report descriptor size, non-continuous endpoints (from richard millars usbmouse-endpoint patch)
Another band-aid fix to the usb mouse driver, to cope with a mouse which has
an interrupt endpoint number 3 but no number 1 or 2, and a report descriptor
more than 128 bytes long.
2013-01-30 20:33:28 +01:00
cinap_lenrek
6b4c5380d8 lib9p: defer freeing srv for listensrv()
use the Srv.end callback for freeing the srv and closing the
file descriptor of a connection. this makes sure we wont free
the srv while there are still outstanding requests that would
access the srv when doing the respond() call.
2013-01-30 10:34:57 +01:00
cinap_lenrek
2c62f8dc67 hjfs: fix bogus nodata getbuf() of superblock in createroot() (failed ream race bug)
we used to do getbuf() with nodata flag so it only worked when
we where lucky and got the same in memory block back. this
is uncritical once you have reamed the filesystem, its just
that sometimes ream would fail with "ream successfull, then
hjfs: fsinit: file ./hjfs not found".
2013-01-30 09:38:02 +01:00
cinap_lenrek
3787f721c1 9p message size too small
various fileservers do not check if the message size is too small
(they subtract IOHDRSZ later from it to calculate iounit) which
can overflow.
2013-01-30 06:28:42 +01:00
cinap_lenrek
dbbbff8915 lib9p: defer closing down srv until the last request has been responded, Tversion message size
in multithreaded programs, we have to wait until all outstanding
requests have been responded before closing down the srv.

dont make write errors sysfatal(), only print them. in case if
listensrv() is used we dont want to exit the process in respond()
called by some worker thread.

make sure Tversion is only handled when there are no outstanding
requests and make sure message size is sane.
2013-01-30 06:26:03 +01:00
cinap_lenrek
bc0e5ffa22 audiohda: fix vid typo 1003 -> 1003 2013-01-29 21:59:34 +01:00
cinap_lenrek
bf37280c25 audiohda: add pci id for Intel P55 chipset and ATI HDMI (Radeon HD 8500) 2013-01-29 21:56:02 +01:00
cinap_lenrek
50cf738d69 acpi: remove "cannot get pci bus number for ..." debug prints
on almost all machines, we get tons of these prints for pci busses that
are not physically there but are described in the ACPI namespace. the
reason that we enumerate these is because we do not enumerate _INI and _STA
methods to check if they are present. we just match the information with
the PCI devices we enumerated with our generic pci code. this works fine and
doesnt require aml code to poke arround in pci config space.
2013-01-29 18:24:48 +01:00
mveety
611eedc8d0 removed fakertc device that confused timesync. timesync now fails trying to read it and hints user to get time elsewhere 2013-01-28 17:06:35 -05:00
mveety
73f9e49dbb removed fake rtc device. 2013-01-28 17:00:30 -05:00
cinap_lenrek
c1cb685a32 audioac97: fix inverted recgain control, init to zero recgain
some controls are inverted. we reflect this by specifying
negative range in the volume table now and let genaudiovolread()
and genaudiovolwrite() do the conversion.
2013-01-27 17:20:42 +01:00
cinap_lenrek
866ee3ab5d audioac97, audiohda: dont block on close, just pad the last block with zeros 2013-01-27 14:00:42 +01:00
cinap_lenrek
47bb182b5b merge 2013-01-27 13:00:09 +01:00
cinap_lenrek
87325403b0 sam: make scroll wheel work outside scrollbar 2013-01-27 12:57:51 +01:00
ftrvxmtrx
bea0aa8472 statusbar: fix garbled percentage output 2013-01-27 11:51:31 +01:00
cinap_lenrek
ea0f580909 add arm vfp support to compiler and linker (from sources) 2013-01-26 18:03:45 +01:00
cinap_lenrek
bc610a1b1c add raspberry pi kernel (from sources) 2013-01-26 17:33:56 +01:00
cinap_lenrek
ea108c8ca6 add tegra2 soc kernel (from sources) 2013-01-26 17:33:21 +01:00
cinap_lenrek
43e09c468b omap: update omap kernel (from sources)
refactors of the usb ehci code and adds vfp support
2013-01-26 17:32:08 +01:00
cinap_lenrek
44eb643cb2 devuart: export uartenable() 2013-01-26 17:26:28 +01:00
cinap_lenrek
7592fa3e68 kernel: add portable uncached memory allocator (ucalloc) (from sources) 2013-01-26 17:25:23 +01:00
cinap_lenrek
14d663b169 kernel: add portable sd mmc interface (from sources) 2013-01-26 17:06:28 +01:00
cinap_lenrek
ae116c9446 libc: update atomic ops and fp code for arm (from sources) 2013-01-26 17:00:38 +01:00