Commit graph

2244 commits

Author SHA1 Message Date
cinap_lenrek
2a1b43ad98 vga: make kernel vga drivers more stupid
previously, we had to maintain 3 sets of pci vid/did's:

1) in /lib/vgadb for detection
2) in the userspace driver in aux/vga
3) in the kernel mode driver

this change makes the kernel mode driver more dumb in
the cases where possible. we let userspace do the pci
enumeration and if needed, it can set the pci address
of the vga card. kernel mode drivers can assume to get
the right pci device passed in scr->pci for enable()
and linear() functions and just do very basic sanity
checking before mapping framebuffer and mmio regions.

vgalinearpciid() was removed as userspace is responsible
to pick pci device.

theres a new vgactl message "pcidev" where userspace
can set the bus address. we initialize scr->pci in
vgareset() to the first pci graphics card found. this
should cover cases when an old aux/vga binary is used
that doesnt use the new pcidev message.

userspace drivers will now use the pci device that got
a match from /lib/vgadb and skip ther own enumeration.
this way, vga cards can be made to work by simply adding
an entry in vgadb with no need to modify userspace or
kernelspace drivers. this is not always possible if
the driver derives information from the specific card
model.
2013-01-02 01:19:51 +01:00
cinap_lenrek
0e4fc14f7e upas/marshal: change Inline: to Include: header, interpret even withou -8 flag
after some thought, the file attachment headers Attach: and Include:
(before Inline:) are more like the Subject: line and should be interpreted
every time.
2013-01-01 16:27:01 +01:00
cinap_lenrek
be01be80cc upas/marshal: interpret Attach: and Inline: headers only when -8 flag is given 2013-01-01 15:56:36 +01:00
stanley lieber
cc3b91ca27 fortunes: I don't want Javascript promises 2012-12-31 19:55:26 -06:00
stanley lieber
55a34e1131 upas/marshal: interpret attach: and inline: lines in body of message 2012-12-31 19:53:59 -06:00
cinap_lenrek
5697e93e65 unicode: use Runeerror 2012-12-31 22:49:29 +01:00
cinap_lenrek
b821a76824 ether82563: fix phyerrata() 2012-12-31 21:50:08 +01:00
cinap_lenrek
6cadd03bbe fix utf and rune handling in preparation for 32bit runes 2012-12-31 21:09:46 +01:00
cinap_lenrek
6d99096136 sdiahci: add pci did for 82801fbm (ich6) SATA controller 2012-12-31 03:58:01 +01:00
cinap_lenrek
23b6f7ffcc aan(8): add cpu(1) remark as it also support -p iption 2012-12-30 18:47:32 +01:00
cinap_lenrek
9ea4028246 ether82567: x200 ethernet (thanks ftrvxmtrx)
Apparently i82567m ether (ich9) _has_ flash. Provided patch fixes the ethernet for Thinkpad X200.
2012-12-29 12:02:59 +01:00
cinap_lenrek
ec6714f5ed sdahci: fix mistake 2012-12-29 11:27:24 +01:00
cinap_lenrek
470ea46374 libbio: remove breadn.c 2012-12-28 05:32:44 +01:00
cinap_lenrek
b7b2fea16f sdahci: get dvd drive to work with x301 2012-12-28 03:54:06 +01:00
cinap_lenrek
f9b9cab6a1 sdide: confusion 2012-12-28 03:39:39 +01:00
cinap_lenrek
8f3595e058 nusb/kb: remove mouse acceleration -a flag
mouse acceleration can be done by software in the kernels
devmouse device like:

echo hwaccel off >/dev/mousectl
echo accelerated 5 >/dev/mousectl

it is hard to pass nusb/kb parameters anyway as it is started
from nusbrc in bootfs.paq, so i remove the option.
2012-12-26 22:48:12 +01:00
cinap_lenrek
1c090cd04f sdide: packet io byte count.
instead of setting the packet io byte count to some bullshit
value, use the dlen from the scsi request. limit transfer
byte count to 32k for atapi.
2012-12-26 17:58:15 +01:00
cinap_lenrek
4a4c8218ee devsd: fix possible sdbio() race with inquiry data changing (due to ahci hotplug)
the unit inquiry data might change in case the drive got pulled
with ahci. so keep track if we locked the ctl in a local stack
variable instead of relying on that the inquiry data stays the
same.
2012-12-26 17:53:12 +01:00
cinap_lenrek
7ceff03db3 bio: remove useless Breadn() as it does the same as Bread()
Bread() always reads exactly nbytes of data if it can. only
when it reaches end of file or an error it will return less.
so the Breadn() function that was introduced has been removed.

sorry for the confusion.
2012-12-25 02:45:28 +01:00
cinap_lenrek
e7348f8ed2 sdiahci: prevent x301 dvd-ram from hanging machine
matushita dvd-ram on thinkpad x301 hangs on the inquiry command
done from scsiverify(). not sure whats wrong with it, but at least
this makes the machine boot.
2012-12-25 00:22:32 +01:00
cinap_lenrek
f379992fcd adiahci: drive onlining, task file error (atapi) handling, missed interrupts, bios handoff, idle, cleanup
wait for the drives to become ready or missing in iaonline()
and iaverify() to prevent nobootprompt= race.

handle task file error status (this can happen for atapi)
under some circumstances and would hang the io if not
handled.

preventively poll interrupts from the checkdrive kproc in
case we loose interrupts (bad via machine).

implement bios handoff procedure.

make sure the port is idle before programming the port dma
regios in configdrive(), do not start command processing
on the port unless phylink has been established.
2012-12-24 18:07:18 +01:00
cinap_lenrek
9b6f0e2b3e cpu(8): option -A before -R
aan announce option -A has to be specified before -R and -O so
reflect this in the manual page.
2012-12-21 21:24:47 +01:00
cinap_lenrek
b226a645bc cpu: make incoming cpu connections work with aan(8) by default 2012-12-21 21:11:28 +01:00
cinap_lenrek
0ef3bdaaa4 merge 2012-12-21 19:22:58 +01:00
cinap_lenrek
44ac7fe940 6in4: use localmask instead of hardcoded /128 when adding address to interface 2012-12-21 19:18:47 +01:00
Marko Kostić
e95c771eb5 Renamed the serbian latin kbmap and changed some minor errors
in it (lj > q, nj > w).
2012-12-21 17:05:31 +01:00
cinap_lenrek
2c1c1e4005 hproxy: fix ipv6 url parsing 2012-12-20 22:15:52 +01:00
cinap_lenrek
e2d6bba40d file: detect and unwrap utf-16 encoded text formats 2012-12-20 17:58:26 +01:00
cinap_lenrek
db71faf2d7 tcs: dont get confused on odd read count for utf-16 2012-12-20 17:00:08 +01:00
cinap_lenrek
03024cd814 file: fix newline consistency, fix swaped utf-16 le/be 2012-12-20 16:58:56 +01:00
cinap_lenrek
91cc172719 inst: fix pbs update for bootsetup, remove stopether and stopppp tasks
the pbs update might fail if we dont unmount the 9fat.
2012-12-20 11:17:10 +01:00
cinap_lenrek
9465269c40 ethervgbe: fix broken rx block handling 2012-12-20 09:44:10 +01:00
cinap_lenrek
7b34e8e759 nusb/kb: use report protocol for mouse
instead of forcing mouse to boot protocol, which often
doesnt work, we set it to report protocol and parse
the hid report descriptor. if thers no such descriptor
we revert to boot protocol.

all mouse packet parsing is done by report parser,
even for boot protocol. also all the work arrounds
for the leadbyte hack (report id?) are removed.

keyboards should not be affected by this change.
2012-12-19 12:09:35 +01:00
cinap_lenrek
30b8fa0eef pci: add southbridge for Viatech VT8235 2012-12-19 00:35:53 +01:00
cinap_lenrek
5d27a5972d pci: add southbridge for intel 82hb65 cougar point pch (thanks ftrvxmtrx) 2012-12-19 00:09:42 +01:00
cinap_lenrek
b4c81e2cdc audio/pcmconv: fix mistake 2012-12-17 09:53:36 +01:00
cinap_lenrek
5d78632d41 pci: add Viatech VT8251 south bridge 2012-12-17 07:51:40 +01:00
cinap_lenrek
1fdd311f2f audio/pcmconv: implement stereo -> mono conversion (mixing) 2012-12-14 17:16:50 +01:00
cinap_lenrek
776f3726dd audio/pcmconv: check bits for same format check not just framesz 2012-12-14 09:43:00 +01:00
cinap_lenrek
d99e693119 file: report .au files as "sun audio" instead of µlaw 2012-12-14 05:12:07 +01:00
cinap_lenrek
a2b94beae0 play: use audio/sundec instead of audio/µlawdec 2012-12-14 05:00:51 +01:00
cinap_lenrek
5ceb834f0e audio: replace µlawdec, add big endian and µlaw audio formats to pcmconv, µlaw in wav support
to support µ-law audio embedded in wav and big endian pcm
in sun audio files the µ-law and a-law and big endian integer
decoding was added to pcmconv. sundec now parses the sun
audio header supporting stereo now.
2012-12-14 04:38:45 +01:00
cinap_lenrek
d7b7723c96 audio/pcmconv: dithering 2012-12-13 09:39:15 +01:00
cinap_lenrek
a8b02eb198 audio/pcmconv: cleanup 2012-12-12 19:04:57 +01:00
cinap_lenrek
985df234d6 audio/pcmconv: implement filter coefficient interpolation, cleanup 2012-12-12 15:46:12 +01:00
cinap_lenrek
2823498ac3 audio/pcmconv: mistake for double to int conversion (thanks ftrvxmtrx) 2012-12-12 12:20:54 +01:00
cinap_lenrek
bedfd8f361 audio/pcmconv: check number of input channels 2012-12-11 21:02:14 +01:00
cinap_lenrek
45a5074b10 audio/pcmconv: disable floating point exceptions for data conversion
for the float to integer conversion, disable
exceptions. also clamp the values.

--
cinap
2012-12-11 20:42:33 +01:00
cinap_lenrek
0903d01134 audio: fix broken write() size for mp3dec/oggdec/flacdec
they accidently wrote additional bytes in the stream. this
confused the new audio/pcmconv (now actually checking
if it got complete samples).
2012-12-11 19:55:02 +01:00
cinap_lenrek
3d1f5d4812 audio/pcmconv: implement band limited audio resampler using fir filter
implement the resampler described in the
"Digital Audio Resampling Home Page" paper:

https://ccrma.stanford.edu/~jos/resample/
2012-12-11 16:37:39 +01:00