Commit graph

5394 commits

Author SHA1 Message Date
aiju
7a8e875668 games/md: fix mkfile 2018-11-20 09:22:04 +00:00
aiju
99d2e68a6a games/md: use cpu.c from blit 2018-11-20 09:20:46 +00:00
aiju
af810c9871 games/blit: clean up cpu.c and make it pass tests 2018-11-20 09:18:20 +00:00
cinap_lenrek
4dee686ca5 pc, pc64: park application processors in rebootcode with mmu off
instead of having application processors spin in mpshutdown()
with mmu on, and be subject to reboot() overriding kernel text
and modifying page tables, park the application processors in
rebootcode idle loop with the mmu off.
2018-11-19 18:42:01 +01:00
cinap_lenrek
485a3301e6 cc: fix wrong "useless or misleading comparison" warning
to reproduce:

 	u8int x, y;

 	x = 0xff;
 	y = 0xc0;
 	if((s8int)(x & y) >= 0)
 		print("help\n");

compiles correctly but prints a warning

warning: test.c:11 useless or misleading comparison: UINT >= 0

the issue is that compar() unconditionally skipped over
all left casts ignoring the case when a cast would sign
extend the value.

the new code only skips over the cast when the original
type with is smaller than the cast result or when they
are equal width and types have same signedness. so the
effective left hand side type is the last truncation
or sign extension.
2018-11-18 20:42:45 +01:00
cinap_lenrek
b6251bff91 rc: implement $"x in terms of Xdol() and new Xqw() instruction
to get $"1 right, remove Xqdol() and instead implement it in
terms of Xdol() instruction and use the new Xqw() instruction
to quote the resulting list.
2018-11-18 04:56:48 +01:00
cinap_lenrek
196da4ec6f devip: fix swapped tcp snd.scale and recv.scale in tcpstate() format (thanks joe9) 2018-11-18 04:14:41 +01:00
cinap_lenrek
064ea89caa libdraw: avoid deadlock for mouse ioproc sending on resizec
a deadlock has been observed with samterm (thanks burnzez),
that shows the mouse ioproc being stuck in sending on the
resize channel, while the mouse consumer is stuck in a
readmouse() loop wanting a rectangle to be drawn by the
user:

recv(v=0x42df50)+0x28 /sys/src/libthread/channel.c:321
readmouse(mc=0x42df50)+0x54 /sys/src/libdraw/mouse.c:34
getrect(.ret=0x41bce0,but=0x4,mc=0x42df50)+0x62 /sys/src/libdraw/getrect.c:49
	r=0x41bc70
	rc=0x41bc70
getr(rp=0x41bce0)+0x24 /sys/src/cmd/samterm/main.c:244
	p=0x6b000004f6
	r=0x2
sweeptext(new=0x0,tag=0x2d)+0x12 /sys/src/cmd/samterm/menu.c:208
	r=0x2
	t=0x42df50
inmesg(type=0x2,count=0x2)+0x1ab /sys/src/cmd/samterm/mesg.c:136
	m=0x10000002d
	l=0x2d00001b00
	i=0x43829000000001
	t=0x438290
	lp=0x42e050
rcv()+0x7a /sys/src/cmd/samterm/mesg.c:77
threadmain(argv=0x7ffffeffef90)+0x173 /sys/src/cmd/samterm/main.c:63

so avoid blocking in the mouse ioproc by using nbsend()
instead of send() for writing to the resize channel.
2018-11-18 03:37:04 +01:00
mischief
a25418fddc devbridge: fix runt packets going through the bridge (thanks cinap)
linux will send small, unpadded arp packets which may arrive over
wifi, so allow small packets into the bridge and pad any packets that
are too small when going out.
2018-11-17 17:23:56 -08:00
aiju
fbfa249c63 games/c64: make keyboard table more readable 2018-11-17 09:48:46 +00:00
mischief
744867de34 ether82563: ignore i82753 checksums, fixes T60 ethernet 2018-11-14 11:33:52 -08:00
cinap_lenrek
06783edd7a nusb/kb: multitouch support (touchscreens, stylus)
touchscreens signal multiple contact points (X/Y) in
the hid descriptor separated by being nested in separate
collections. the contact point is identified by a
optional contact id. if omited, we use the collection
index and report id.

so we collect all the items (X/Y, buttons, wheel) from
separate collections in Hidslot structures and in the
end combine all the slots together.

buttons are or'ed together while absolute X/Y is applied
when it changed. relative X/Y deltas get added together.

thanks to kivik and Glats for testing.
2018-11-14 09:12:34 +01:00
cinap_lenrek
8a7f897b30 nusb/kb: revert multitouch, breaks some mice... 2018-11-13 03:34:19 +01:00
cinap_lenrek
b5ea1cc4be upa/imap4d: ignore messages without digest info 2018-11-12 20:43:25 +01:00
cinap_lenrek
3b51df75b5 disk/mkfs: remove unused cputype variable (thanks kvik) 2018-11-12 16:54:59 +01:00
cinap_lenrek
8c57331b9b merge 2018-11-12 08:53:29 +01:00
cinap_lenrek
9de1403358 nusb/kb: lilu dallas multitouch 2018-11-12 08:52:01 +01:00
aiju
c247ce1c33 add dtracy to mkfile 2018-11-11 10:10:30 +00:00
aiju
a7f5ecaf63 dtracy: missing break in dteverify 2018-11-10 14:01:42 +00:00
aiju
e6d99771e5 adding dtracy (crude early version) 2018-11-10 13:46:16 +00:00
cinap_lenrek
8c097ae84a ssh: handle unknown MSG_CHANNE_REQUEST messages 2018-11-08 22:35:45 +01:00
cinap_lenrek
2a266430e3 ssh: handle MSG_GOBAL_REQUEST
respond to MSG_GLOBAL_REQUEST with MSG_REQUEST_FAILURE
as stated by rfc4254 when server wants a reply.

failing todo so breaks some proprietary keep-alive schemes.
2018-11-08 22:00:07 +01:00
cinap_lenrek
615f43b76e ip/dhcpd: Add swap server support in dhcpd (thanks k0ga) 2018-11-08 21:15:07 +01:00
cinap_lenrek
85afec4c2f bcm: intrenable() can happen from any cpu in case of dma interrupts 2018-11-08 20:26:32 +01:00
cinap_lenrek
b7aedbb366 libdraw: cannot happen 2018-11-08 16:56:34 +01:00
cinap_lenrek
df7fcc6cac libdraw: fix gengetwindow()
- fix fd leak in winname read() <= 0 case
- avoid freeing d->image (was by freeimage((*scrp)->image))
- dont leak screen and window in fullscreen mode
2018-11-07 22:01:18 +01:00
cinap_lenrek
c0d21d35b1 bcm: cleanup timer code
- calculate hardcoded constants for more clarity
- avoid unneccesary modification of cntpns ctl register
- revert enabling IRQcntpns for cpu0
- remove unused Localintpending register offset constant
2018-11-07 17:02:09 +01:00
cinap_lenrek
385f52183c bcm: simplify irq handling by having per cpu Vctl chain 2018-11-07 16:49:50 +01:00
cinap_lenrek
b0d226705c bcm: speed up co-processor operations by avoiding i+d cache flush on each operation
coproc.c generated the instrucitons anew each time,
requiering a i+d cache flush for each operation.

instead, we can speed this up like this:

given that the coprocessor registers are per cpu, we can
assume that interrupts have already been disabled by
the caller to prevent a process switch to another cpu.

we cache the instructions generated in a static append
only buffer and maintain separate end pointers for each
cpu.

the cache flushes only need to be done when new
operations have been added to the buffer.
2018-11-07 16:48:14 +01:00
aiju
17f0b2ce38 nusb/serial: fix wrong guard statement (thanks deuteron) 2018-11-06 12:05:15 +00:00
cinap_lenrek
e76452a69f merge 2018-11-06 04:33:29 +01:00
cinap_lenrek
a66be23396 dnstcp: temporarily switch on resolver mode so we can resolve the dnsslaves for axfr check 2018-11-06 04:31:48 +01:00
aiju
1d0f8a7e51 sed: only dollars as first address are a problem for -u 2018-11-05 20:17:48 +00:00
cinap_lenrek
0a681f38eb merge 2018-11-04 19:50:06 +01:00
cinap_lenrek
93e493f391 libaml: allow amlmapio() to re-enter the interpreter (can happen by pciadd() -> amleval())
- make frame base pointer variable
- in rwreg(), save/restore the interpreter state and allocate a Frame* on the stack
- add overflow checks for frame base pointer to xec() and amleval()
- gc() scans the whole stack from FP to the *real* bottom F0
2018-11-04 19:48:27 +01:00
aiju
0bd213b7b0 devvmx: remove bogus . direntry 2018-11-04 16:03:35 +00:00
cinap_lenrek
89c659d80b bcm: fix mysterious core clock resets under SMP (thanks richard miller)
reference: https://github.com/raspberrypi/firmware/issues/542

procsave(Proc* p)
{
	uvlong t;

	cycles(&t);
	p->pcycles += t;

// TODO: save and restore VFPv3 FP state once 5[cal] know the new registers.
	fpuprocsave(p);
	/*
	 * Prevent the following scenario:
	 *	pX sleeps on cpuA, leaving its page tables in mmul1
	 *	pX wakes up on cpuB, and exits, freeing its page tables
	 *  pY on cpuB allocates a freed page table page and overwrites with data
	 *  cpuA takes an interrupt, and is now running with bad page tables
	 * In theory this shouldn't hurt because only user address space tables
	 * are affected, and mmuswitch will clear mmul1 before a user process is
	 * dispatched.  But empirically it correlates with weird problems, eg
	 * resetting of the core clock at 0x4000001C which confuses local timers.
	 */
	if(conf.nmach > 1)
		mmuswitch(nil);
}
2018-11-04 16:00:32 +01:00
cinap_lenrek
dd82b657c0 bcm: fix mistake in mkfile 2018-11-01 01:07:51 +01:00
cinap_lenrek
5608be398e bcm: fix /dev/reboot text/data corruption (thanks richard miller)
- clean dcache before turning off caches and mmu (rebootcode.s)
- use WFE and inter-core mailboxes for cpu startup (rebootcode.s)
- disable SMP during dcache invalidation before enabling caches and mmu (in armv7.s)
2018-10-31 19:48:16 +01:00
Alex Musolino
913be4e74a awk(1): fix append operator to avoid truncating file 2018-10-31 16:49:02 +10:30
cinap_lenrek
8e9d2434e9 bcm: provide /dev/cputemp in a format stats can understand 2018-10-28 07:10:27 +01:00
cinap_lenrek
b715c39bfa bcm: simplify reboot code
- synchronize rebootcode installation
- handle the 1MB identity map in mmu.c (mmuinit1())
- do not overlap CONFADDR with rebootcode, the non boot
  processors are parked there.
- make REBOOTADDR physical address
2018-10-28 06:16:10 +01:00
cinap_lenrek
0fc2adb43d bcm: cleanup clock code
- disable local clock on interrupt to prevent accidents when reenabling
- always regitster local clock interrupt handler, even for cpu0
- simplify microdelay()
- don't mess with watchdog
2018-10-28 06:09:05 +01:00
cinap_lenrek
f17a5cc2cf bcm: fix l2 cache maintenance routines for raspi3 (armv8)
armv8 has 16-way l2, so adjust shift for the set-way cache
tag format.
2018-10-28 06:05:43 +01:00
cinap_lenrek
2ee4c08974 devuart: don't sleep in uartdrainoutput() when called splhi or without a process
uartdrainoutput() might be called in early initialization
from uartctl() without a process.
2018-10-27 20:00:12 +02:00
cinap_lenrek
d81f4d4866 rc: skip searchpath for "", "." and ".." 2018-10-27 18:32:00 +02:00
cinap_lenrek
d17a049c5b rc: use searchpath() logic to handle $cdpath 2018-10-26 10:25:23 +02:00
cinap_lenrek
1a55b8d1f0 rc: ignore $cdpath for # device rooted paths (thanks kivik) 2018-10-26 09:52:05 +02:00
23hiro
05021e0579 add Centrino Wireless-N 1030 (thanks lksmk from brazil) 2018-10-25 08:09:10 +02:00
cinap_lenrek
f059563b9d add /sys/src/boot/bcm/mkfile to download raspberry pi bootcode firmware 2018-10-22 00:15:39 +02:00
cinap_lenrek
8dfff00e50 nusb/serial: add support for CH340 serial converter 2018-10-21 17:24:33 +02:00
cinap_lenrek
21001d4294 merge 2018-10-21 03:44:16 +02:00
cinap_lenrek
2fd35e9bf8 kbdfs: don't get confused by broken utf8 2018-10-21 03:42:24 +02:00
qwx
f5c6a870bf doom: fix music for patch wads
revert last change, which used games/wadfs to expose genmidi and music lumps.
replacements from patch wads were never seen that way.  instead, write genmidi
and music lumps to /tmp and play them from there.
2018-10-21 00:11:39 +02:00
cinap_lenrek
b4eb667f02 acme: fix fd checks - initialize Window.rdselfd to -1 not 0 2018-10-20 23:57:50 +02:00
BurnZeZ
84e019aba3 fix misleading/wrong fd checks 2018-10-20 18:44:09 +00:00
cinap_lenrek
292cce2ad1 libdisk: catch null bytes in proto file, fix memory leaks 2018-10-20 20:32:22 +02:00
cinap_lenrek
5bb7240ee9 nusb/kb: work arround broken split transaction on raspi's dwc otg usb controller 2018-10-20 19:57:37 +02:00
cinap_lenrek
83e20b4df1 bcm: import changes for raspi2/3 from richard miller 2018-10-20 19:56:31 +02:00
cinap_lenrek
796e5e6000 nusbrc: support for raspi3 ethernet 2018-10-20 19:53:57 +02:00
cinap_lenrek
37dcb25eee kernel: fix allocb for BLOCKALIGN*2 >= Hdrspc 2018-10-20 19:52:54 +02:00
cinap_lenrek
c4ec69045e devusb: use Enotconf[] string constant 2018-10-20 19:41:37 +02:00
cinap_lenrek
86a9f92f47 nusb/ether: add support for lan78xx (raspi3) (thanks richard miller) 2018-10-20 19:30:16 +02:00
cinap_lenrek
29865005f9 nusb/ether: tune buffer size parameters for SMSC ethernet (raspi) (thanks richard miller) 2018-10-20 19:29:18 +02:00
mischief
499478eb62 upas/fs: delete extra binaries 2018-10-18 08:46:44 -07:00
aiju
d6164606d9 ttf: SHZ also uses 0x36 2018-10-16 19:26:40 +00:00
aiju
4b507ed83d libttf: add SHZ[] instruction 2018-10-16 19:14:19 +00:00
aiju
d31f6261b3 libttf: dont unset LOOP in SHC 2018-10-16 18:35:47 +00:00
mischief
2d221e61e3 nusb/disk: also drive usb attached scsi devices 2018-10-15 04:14:59 -07:00
aiju
22fc5467a4 nusb/joy: update misleading comment (thanks Tobias Heinecke) 2018-10-15 10:10:34 +01:00
mischief
df89d898f0 libttf: instruction 0x24 is DEPTH, not CLEAR 2018-10-13 02:20:31 -07:00
cinap_lenrek
c22ebef4e1 libdisk: back out last change 2018-10-13 00:07:46 +02:00
cinap_lenrek
06abb1098a ssh: fix spinning due to sticky intr flag on connection timeout 2018-10-12 19:28:39 +02:00
cinap_lenrek
f12f773944 merge 2018-10-12 19:04:22 +02:00
cinap_lenrek
6e74c7380f libdisk: check for proper line termination in proto file parser 2018-10-12 19:02:57 +02:00
mischief
aec4240c0c truetypefs: fall back to width if advance is zero
combining marks will have zero advance, but it results in zero-width
glyphs in subfonts.  fall back to width so something meaningful is
rendered even if its not combined properly.
2018-10-12 08:34:17 -07:00
mischief
3a41ce3bf3 truetypefs: fix subfont indices (thanks aiju!) 2018-10-12 08:32:19 -07:00
mischief
4d919ab612 truetypefs: use /lib/font/ttf as default font path 2018-10-12 08:31:05 -07:00
aiju
ccfb6f4126 libttf: fix swapped argument in vscan()... 2018-10-12 11:40:34 +00:00
cinap_lenrek
4808971db6 plumber: fix memory and filedescriptor leaks (thanks BurnZeZ) 2018-10-11 22:49:45 +02:00
cinap_lenrek
c9e86d6b34 ndb/dnstcp: only lookup the expected address type in findserver()
theres no reason to lookup both A and AAAA records, as we already
know the type of srcip.
2018-10-11 18:57:14 +02:00
cinap_lenrek
5fbf53b467 merge 2018-10-11 18:34:14 +02:00
cinap_lenrek
ed888f3ee9 ndb/dns: use nil for pointers in dnresolve() args 2018-10-11 18:32:31 +02:00
cinap_lenrek
784a959888 ndb/dns: do recursive lookup for dnsslave= 2018-10-11 18:31:35 +02:00
cinap_lenrek
fce9c3e65a ndb/dns: avoid format strings in procname 2018-10-11 18:29:17 +02:00
aiju
921b75a909 games/gb: when the LCD is turned off, reset ppuy and ppustate to 0, fixes bug in dragon warriors iii reported by mischief 2018-10-11 16:25:11 +00:00
mischief
8eecdc9664 etheriwl: support type 2000 devices and the 2200 chip in x230t 2018-10-10 16:37:13 -07:00
mischief
7af5442d3b nusb/joy: send magic packet to enable playstation controller events 2018-10-10 13:56:28 -07:00
mischief
67e14807e9 nusbrc: prevent nusb/kb from attaching to sony ps3 controller 2018-10-10 13:49:03 -07:00
cinap_lenrek
e73ce8475e ndb/dnstcp: return a proper non-answer when rejecting zone transfer 2018-10-09 06:34:27 +02:00
cinap_lenrek
08292c8f1f ndb/dns: fix format print warning for procsetname(), cleanup 2018-10-09 06:08:48 +02:00
cinap_lenrek
45e71cb728 ndb/dns: send_notify() to multiple ip addresses in parallel, filter myip() 2018-10-09 06:07:51 +02:00
cinap_lenrek
7ddda493c0 ndb/dnstcp: restrict DNS zone transfers to clients listed as dnsslave=
initial idea from Steve Simon, but doesnt require reverse
lookup of the callers ip address.
2018-10-09 06:02:36 +02:00
cinap_lenrek
679a253931 usbxhci: only clear RW1C bits when set. 2018-10-08 07:10:59 +02:00
cinap_lenrek
2fecc5789e usbxhci: delay after reset, preserve reserved bits in legacy status control register in handoff()
when clering smi enable bits in the legacy control/status register,
preserve the reserved bits. clear the RW1C bits.

linux code claims intel xhci controller needs a 1ms delay before
accessing any register after reset.
2018-10-08 07:05:28 +02:00
cinap_lenrek
065c3557af ip/dhcpd, ip/tftpd: change default for tftp homedir to / 2018-10-08 02:11:36 +02:00
cinap_lenrek
c458216121 pc drivers: more pci cleanup 2018-10-07 23:38:41 +02:00
cinap_lenrek
9fec0e7360 pc drivers: use pcienable() to handle device power up and missing initialization 2018-10-07 22:28:21 +02:00
cinap_lenrek
4d7c195804 pc, pc64: add pcienable() and pcidisable() functions
pcienable() puts a device in fully powered on state
and does some missing initialization that UEFI might
have skipped such as I/O and Memory requests being
disabled.

pcidisable() is ment to shutdown the device, but
currently just disables dma to prevent accidents.
2018-10-07 21:52:53 +02:00
aiju
4e4f2aca32 add (unfinished but working) truetypefs 2018-10-07 11:11:39 +00:00
cinap_lenrek
ce062debb1 9boot: get rid of 64 byte line length limit 2018-10-06 02:42:53 +02:00
cinap_lenrek
f9839ed0a2 usbehci, usbxhci: add *noehcihandoff= and *noxhcihandoff= parameters
on Samsung ATIV Smart PC Pro XE00T1C-A01CL, the EHCI handoff
causes the system to freeze in UEFI mode as soon as we assert
the os semaphore bit.

until a general solution is found, provide these parameters to
disable the handoff for now as it seems to otherwise work fine.
2018-10-06 00:29:05 +02:00
cinap_lenrek
83876083c9 pc, pc64: increase CONFADDR buffer from 4K to 24K
move APBOOTSTRAP and TMPADDR to make space available for
boot parameters. which can become quite long such as *e820.
2018-10-06 00:26:07 +02:00
cinap_lenrek
b56450471f devip: remove unused QLock from udp and icmpv6 control blocks (thanks brho) 2018-10-03 00:47:34 +02:00
cinap_lenrek
bdcef9d692 5i ki qi vi: avoid buffer overflow in command read loop 2018-09-29 13:58:08 +02:00
mischief
e876447b75 audio/libogg: sync to ogg v1.3.3
this corresponds to upstream git commit 4380566a44b8d5e85ad511c9c17eb04197863ec5.
2018-09-28 17:28:51 -07:00
aiju
f75bbcdd45 5e: byte access incorrectly checked for long; brk has to round up addresses 2018-09-28 22:53:24 +00:00
cinap_lenrek
451b0c7976 ip/ipconfig: silently ignore prefix information with Autonomous flag clear 2018-09-28 20:23:53 +02:00
cinap_lenrek
9ee967663f ip/ipconfig: default onlink and autoflag to 1 2018-09-28 18:16:08 +02:00
cinap_lenrek
02b867f01e devip: only add interface route for "on-link" prefixes
when a prefix is added with the onlink flag clear, packets
towards that prefix needs to be send to the default gateway
so we omit adding the interface route.

when the on-link flag gets changed to 1 later, we add the
interface route.

the on-link flag is sticky, so theres no way to clear it back
to zero except removing and re-adding the prefix.
2018-09-28 18:13:01 +02:00
cinap_lenrek
03bcc1520a vt: fix backup/forward after resize 2018-09-27 16:08:51 +02:00
cinap_lenrek
b74ce50a1c vt: implement word select 2018-09-27 15:24:41 +02:00
cinap_lenrek
19166f2cf3 libc: add procsetname() 2018-09-26 14:56:23 +02:00
cinap_lenrek
311e3b51c6 libc: return number of bytes produced for idn2utf() and utf2idn() 2018-09-26 14:32:17 +02:00
cinap_lenrek
f18e8dfde8 ip/ipconfig: increase maximum host and domainname size to 255 bytes. idn for -h option 2018-09-25 21:51:57 +02:00
cinap_lenrek
0126f10d05 ndb/inform: handle internationalized domain names 2018-09-25 20:59:08 +02:00
cinap_lenrek
e5e6a729dd merge 2018-09-25 20:45:11 +02:00
cinap_lenrek
33682a5885 ip/ipconfig: handle internationalized domain names 2018-09-25 20:43:37 +02:00
cinap_lenrek
05f6c08985 ip/dhcp6d: handle internationalized domain names 2018-09-25 20:28:19 +02:00
cinap_lenrek
347303b136 ip/dhcpd: handle internationalized domain names 2018-09-25 20:17:56 +02:00
cinap_lenrek
2160da07de ndb/dns: use libc's new idn functions 2018-09-25 20:17:00 +02:00
cinap_lenrek
565fc2be5d webfs: remove idn.c 2018-09-25 20:16:06 +02:00
cinap_lenrek
d5f2d2cc3f webfs: fix memory leak in Nfmt(), use libc's new idn functions 2018-09-25 20:15:24 +02:00
cinap_lenrek
dfec09c436 libc: add utf2idn() and idn2utf() functions to deal with internationalized domain names 2018-09-25 20:14:25 +02:00
cinap_lenrek
d2b3e2f55a merge 2018-09-25 15:06:13 +02:00
cinap_lenrek
dbfb766735 ip/dhcpd: implement rfc3397 dhcp search domain option (dnsdomain) 2018-09-25 15:04:19 +02:00
cinap_lenrek
12b3c82014 ip/ipconfig: implement rfc3397 dhcp dns search option (dnsdomain) 2018-09-25 15:02:29 +02:00
Ori Bernstein
72a840b31d Disallow '/' in file names.
A bad rename call could send a path with a '/' to cwfs.
	This is invalid, and should be disallowed.
2018-09-25 01:02:31 -07:00
cinap_lenrek
2f076f946f ip/ipconfig: handle noconfig flag for router advertisement, add debug prints, cleanup 2018-09-24 13:56:25 +02:00
cinap_lenrek
ef17043327 libhtml: increase Nestmax to render some convoluted pages (thanks fernan)
example page with broken citation list numbering:

https://en.m.wikipedia.org/wiki/Commodore_64
2018-09-23 23:35:41 +02:00
cinap_lenrek
94333ce6a6 devip, ipconfig: avoid overflow on lifetime checks 2018-09-23 22:07:56 +02:00
cinap_lenrek
70c6bd0397 devip: valid and prefered life-time should be unsigned, add remove6 ctl command 2018-09-23 19:09:48 +02:00
cinap_lenrek
4a92a8f6b2 devip: fix default parameter calculation for router life-time
router life time is in seconds, while max ra interval is
in milliseconds!
2018-09-23 19:08:16 +02:00
cinap_lenrek
259ce5e3de devip: make updating ra6 router parameters atomic
when we fail to parse and validate the command, no update
should take place.
2018-09-23 17:24:59 +02:00
cinap_lenrek
1d4a36c699 ip/ipconfig: valid lifetime is in seconds, not milliseconds. 2018-09-23 17:14:29 +02:00
cinap_lenrek
74272a8364 ip/ipconfig: remove expired default routes on router advertisement 2018-09-23 02:08:59 +02:00
cinap_lenrek
8c7a4e28d5 vt: make selecting() wait until all buttons are lifted avoiding menu when chording 2018-09-20 21:25:38 +02:00
cinap_lenrek
b9796e0774 vt: implement line selection by double click 2018-09-20 21:07:10 +02:00
mischief
6fa3e08412 cfs: close mount half of pipe, fixes cfs not exiting when unmounted 2018-09-19 13:27:55 -07:00
cinap_lenrek
45afecffd1 kprof: fix precedence (thanks geoff) 2018-09-19 01:11:49 +02:00
mischief
d73c67660b sum, md5sum, sha1sum: set exit status properly on open/read errors 2018-09-18 15:58:22 -07:00
mischief
026c679f49 webfs: remove automatic Referer header
automatic Referer headers were found to break downloads from
sourceforge.net, causing html pages to appear instead of tarballs.

if a website does need them, they can be added as needed via hget's -r
flag, or added to mothra.

reverts commits 67f536d20329 and 6d999c39a9f0
2018-09-18 13:14:00 -07:00
cinap_lenrek
6b9cc409de mtx, ppc: remove cistrcmp() and cistrncmp() redefinition 2018-09-18 19:34:29 +02:00
cinap_lenrek
bd49212b46 kernel: fix livelock in rebalance (thanks Richard Miller)
Once a second rebalance() is called on cpu0 to adjust priorities,
so cpu-bound processes won't lock others out.  However it was only
adjusting processes which were running on cpu0.  This was observed
to lead to livelock, eg when a higher-priority process spin-waits
for a lock held by a lower priority one.
2018-09-18 00:53:05 +02:00
cinap_lenrek
2985d53b7a bootrc: add experimental reboot method to load another kernel
syntax: reboot!bootfile[!method...]

this echos bootfile to /dev/reboot, causing bootfile kernel
to be started.

when method is given, we first connect to the filesystem and
set bootargs so that bootfile can be loaded from the target
network or local fileserver.

note, when no bootfile is given, this causes the kernel to
reboot to bios.
2018-09-16 22:35:16 +02:00
cinap_lenrek
9d60ece816 libndb: add missing ndbdedup.c 2018-09-16 15:27:17 +02:00
cinap_lenrek
ed41dd5b28 9boot: don't let user erase the prompt (thanks mischief) 2018-09-16 13:47:33 +02:00
cinap_lenrek
a4e444f430 libndb: make ndbipinfo() walk ipnet for all matching entries, concatenate and dedup result 2018-09-16 12:39:47 +02:00
cinap_lenrek
08385e6681 ip/tftpd: remove sunkernel hack 2018-09-13 22:15:42 +02:00
cinap_lenrek
a33d76f8c9 ape/make: fix \ line continuation parsing 2018-09-13 11:54:20 +02:00
mischief
5ea7337ae7 port: sync two longjmp fixes from drawterm
see drawterm commits f5e26ae93a6a and fa388286b4ca
2018-09-12 00:35:45 -07:00
cinap_lenrek
e4d0a76289 ndb/cs: don't do dns lookups when all we got is loopback or link local addresses 2018-09-09 15:38:53 +02:00
cinap_lenrek
183ab18dfc libip: ignore ipv6 link local addresses for myipaddr() 2018-09-09 15:35:14 +02:00
cinap_lenrek
b591ee195b devarch: reading msr 0xffffffff 2018-09-09 01:53:53 +02:00
cinap_lenrek
ba7b07d51a devarch: restrict i/o port access to 64K, disallow msr 32-bit wrap arround (thanks aiju) 2018-09-09 01:41:35 +02:00
cinap_lenrek
4f2cdcf74b stats: fix etherstats, avoid vmax == 0 2018-09-09 00:24:43 +02:00
cinap_lenrek
e534c4147e libmach: substitute /dev/zero for /proc/$pid/fpregs when missing (for snapfs) 2018-09-08 23:31:30 +02:00
cinap_lenrek
97a2e35a0c devarch: fix /dev/msr (thanks joe9, aiju)
the end condition port < offset+n could never become
false when offset truncated to 32 bit signed port is
negative. change the condition variables to unsigned
int.

msr's are not byte addressible, so advance reads by
one instead of 8.
2018-09-08 22:24:36 +02:00
cinap_lenrek
a3d8481bb6 libvorbis: fix broken free() (thanks mischief) 2018-09-08 15:15:08 +02:00
cinap_lenrek
96210d79b2 merge 2018-09-08 14:50:41 +02:00
cinap_lenrek
2839760066 rc: fix Xpipefd unbalancing the redir stack
Xpipefd wants the pipe descriptor to be closed in turfredir(), so
it pushes the redirection, but this breaks Xpopredir after normal
redirection. so we shuffle the Xpipefd redir to the bottom of the
stack.
2018-09-08 14:49:00 +02:00
mischief
46d49b5dd2 audio/libogg: nuke old libogg.au 2018-09-05 08:37:01 -07:00
cinap_lenrek
2e9835e771 vt: fix selection past baseline (thanks BurnZeZ) 2018-09-04 20:55:10 +02:00
cinap_lenrek
217e8a0619 vt: fix selrange() to recover whitespace indention 2018-09-03 22:37:45 +02:00
cinap_lenrek
676298b16b vt: get rid of "clear" menu entry, fix 24x80 resize, reset selection on setdim(), document snarf/plumb 2018-09-03 21:51:32 +02:00
cinap_lenrek
80cd634c4d vt: fix plumbsel(), snarfsel()
- plumbsel()
	- remove debug prints
	- use smalloc() to convert to bytes
	- fix spurious -1 close of plumb fd

- snarfsel()
	- fix rune buffer leak in open error case
2018-09-03 20:54:26 +02:00
cinap_lenrek
de9aa721f6 vt: implement proper selections (thanks Ori_B)
Ori Bernstein wrote:
> I finally got around to taking another shot at this vt patch. This change
> gets rid of implicit snarfing, and instead makes selection the way you
> select text for snarfing or plumbing. Select, then use a menu entry.
>
> It would probably be nice to have double click to expand the selection,
> rio-style, along with plumbing implicitly taking the current word, but
> that can be a separate patch.
>
> This change also punts on scrolling for simplicity -- it clears the
> selection instead of trying to handle the cases where the selection
> goes offscreen.

little amendments:

- fix line selection (point min/max inversion)
- clear selection when switching linesel/blocksel
- move selection on scroll
2018-09-03 20:05:26 +02:00
cinap_lenrek
5a2c3580fc ip/dhcpd: bring back interface address for arpenter()
the arp table is per interface, so it is possible to have the same
netwrok on multiple physical interfaces, tho with different source
ip address. one example would be a ethernet and a wlan interface.
the mac addresses on these mediums can differ (arp proxying taking
place).

so provide our source address on the interface we received the
request on.

the previous change used the ifcaddr; which is correct; but due to a
oversight in the kernel, had to match the ip of the arp entry.
source address will always work.
2018-09-01 15:08:40 +02:00
cinap_lenrek
4e61bc282c ip/dhcpd: add varargck pragma for warning() and fatal(), do syserr with %r format 2018-09-01 14:59:19 +02:00
cinap_lenrek
3fa5aaa1bc ip/ipconfig: add varargck pragma for warning() function 2018-09-01 14:53:38 +02:00
cinap_lenrek
2d9147a33c rtl8169: fix receive for nuc BOXNUC7CJYH 2018-08-31 22:39:46 +02:00
qwx
55e0fd6031 dmid: add support for midi streams
tested with a usb midi keyboard and a midi->usb adaptor
2018-08-31 18:01:21 +02:00
mischief
67b24e6dac nusbrc: add LG G5 for nusb/ether 2018-08-30 16:23:36 -07:00
cinap_lenrek
11d1947814 arp: interface address only specifies the interface, not the source address for route lookup 2018-08-30 21:17:54 +02:00
cinap_lenrek
590bed4bf8 merge 2018-08-30 00:05:00 +02:00
cinap_lenrek
b863253879 ip/dhcpd: revert arpenter() changes 2018-08-30 00:03:07 +02:00
aiju
82559c3fdc shift-jis: add support for half-width kana 2018-08-28 05:56:29 +00:00
cinap_lenrek
5c945a0b48 devip: fix router adv/sol options validation (options padded to 8 bytes) 2018-08-27 20:58:48 +02:00
cinap_lenrek
cff1ab5fdf ip/ipconfig: add missing {} as DEBUG() is a macro 2018-08-26 23:05:45 +02:00
cinap_lenrek
c35027e03d ip/ipconfig: check for recvra 0 on timeout 2018-08-26 22:25:35 +02:00
cinap_lenrek
52b773d635 ip/dhcpd: reject bogus requests, handle multiple ether= attributes in ndb, cleanup
unless relay agent (gaddr) is specified, dhcp requests need to
taget a local ip address on the incoming interface or broadcast.

clients might have multiple ethernet interfaces, so we need to
check if any of the ether= attributes in ndb matches. this is
done by passing lookupip() the attribute name and a expected
value and if a match is found, set Info.indb = 1.

remove tohex(), use encodefmt instead. avoid dynamcic allocation.

include interface device in log messages.
2018-08-26 18:36:35 +02:00
cinap_lenrek
5c326d9f35 devvga: disable cursor on shutdown avoiding graphics glitches on reboot 2018-08-25 21:44:08 +02:00
cinap_lenrek
82c08a8a44 ip/dhcpd: handle multiple networks on the same interface, dont get confused by v6 interface address 2018-08-25 15:10:26 +02:00
mischief
4e938841f0 igfx: support blanking by turning off panel power and backlight
tested on t61, x200, x230, x301, t420, w520
2018-08-21 11:31:45 -07:00
cinap_lenrek
976d19960f vncs: fix uninterruptable temporary warning 2018-08-21 02:21:21 +02:00
cinap_lenrek
b1b347a0f4 merge 2018-08-21 02:04:33 +02:00
cinap_lenrek
37cbd6b632 vncv: adjust window size on desktop resize, fix canresize checks 2018-08-21 02:02:50 +02:00
mischief
56a2263aae vncs: shut up used and not set warning 2018-08-20 12:51:29 -07:00
mischief
e1907b41d3 hjfs: set group of new files to that of the parent directory (thanks umbraticus) 2018-08-20 12:48:06 -07:00
cinap_lenrek
f8f677b48e merge 2018-08-20 19:25:58 +02:00
cinap_lenrek
d2089f949e vncs: support for desktop resize extension, update devdraw 2018-08-20 19:23:42 +02:00
aiju
4a120a3816 fix unbounded recursion bug in hjfs 2018-08-20 14:26:19 +01:00
cinap_lenrek
670137bf0a devdraw: zero initialize DImage.dscreen pointer (vnc, drawterm) 2018-08-19 22:00:45 +02:00
cinap_lenrek
c8a71691b4 vncs: fix mistake "screen" vs "gscreen", thanks eekee 2018-08-18 00:03:14 +02:00
cinap_lenrek
d263134394 vncv: handle [] enclosed literal ipv6 addresses in host 2018-08-16 20:34:46 +02:00
cinap_lenrek
43636dbb7f ip/ipconfig: make ra6 daemon less chatty, log to /sys/log/ipconfig instead of /sys/log/v6routeradv 2018-08-15 21:54:42 -04:00
cinap_lenrek
cd752a39f8 ipv6 autoconfiguration on ethernet
for ip autoconfiguration, setup ipv6 link local addresses
and do SLAAC in parallel to DHCP.
2018-08-15 21:39:30 +02:00
cinap_lenrek
ab4c0a012f ip/ipconfig: simplify by combining mklladdr() into mkclientid() 2018-08-12 22:39:44 +02:00
cinap_lenrek
9445f08788 ip/ipconfig: call mklladdr() to get conf.hwa initialized for ipv6 2018-08-11 16:19:32 +02:00
cinap_lenrek
e49f7fc1f7 devip: fix multicastarp() when ipconfig assigned the 0 address
sending multicast was broken when ipconfig assigned the 0
address for dhcp as they would wrongly classified as Runi.

this could happen when we do slaac and dhcp in parallel,
breaking the sending of router solicitations.
2018-08-11 16:18:12 +02:00
cinap_lenrek
45ce4de650 nusb/ether: fix ethertype filtering 2018-08-07 23:46:58 +02:00
cinap_lenrek
445fc8e5a7 merge 2018-08-06 23:14:59 +02:00
cinap_lenrek
abe463b931 wifi: lilu dallas multirate
now handle the supported rates element properly, only
providing the intersecting set of rates that the bss
advertises and what the driver supports, putting the
basic rates first.

also avoid using usupported rates.
2018-08-06 23:13:23 +02:00
mischief
eb1be5b4df devaoe: really fix unit numbering, to be 0-based 2018-08-06 09:41:28 -07:00
mischief
796c41092a devaoe: fix unit numbering for Qdevlinkdir
a side effect of 3c77cd3ae664 changed the unit ordering to start at one, so fix the condition accordingly.
2018-08-06 08:50:40 -07:00
cinap_lenrek
209a6b4b55 acme: pass pointer to int type to avoid pointer to int cast warning 2018-08-03 16:53:50 +02:00
spew
4757debd0b acme: add spacesindent mode 2018-08-01 11:14:59 -04:00
cinap_lenrek
2b619dc966 etheriwl: add pci did for WifiLink 5300 (thans senthil) 2018-07-31 18:33:42 +02:00
cinap_lenrek
c4dd0f6282 kbdfs: ignore first 16 scancodes (number row) in kbtabctl[] for control key reverse mapping 2018-07-30 20:40:28 +02:00
cinap_lenrek
36abc45f28 vncv: implement extended DesktopSize extension, cleanup 2018-07-30 02:21:28 +02:00
cinap_lenrek
da5c0bada7 dc: fix off by one in stack overflow check (thanks BurnZeZ)
BurnZeZ → Found a bug in dc(1)
BurnZeZ → Everything breaks when you fill the stack
BurnZeZ → You have stkptr which crap expects to point to an available member in Blk *stack[STKSZ];
BurnZeZ → stkend = &stack[STKSZ];
BurnZeZ → stkptr is allowed to equal stkend
BurnZeZ → So crap that expects stkptr to be pointing to an available Blk ends up dereferencing past the end of the array
BurnZeZ → term% echo `{seq 1 100} f | dc
BurnZeZ → dc 628283: suicide: sys: trap: fault read addr=0xffffe0000040a618 pc=0x204b1c
2018-07-27 09:31:28 +02:00
cinap_lenrek
6cd83e5d24 audiohda: support Intel Sunrise Point-LP on thinkpad X1 2018-07-26 02:48:00 +02:00
qwx
a8644d01c3 add games/dpic and games/todpic 2018-07-25 05:02:46 +02:00
cinap_lenrek
d07fb3261f devmouse: produce signed msec timestamp in /dev/mouse, accept unsigned on write 2018-07-23 19:29:15 +02:00
cinap_lenrek
34c7af22c1 libdraw: accept unsigned msec timestamp in /dev/mouse 2018-07-23 19:25:28 +02:00
cinap_lenrek
0431ea242d pc, pc64: look for "RSD PTR " in ACPI reserved memory region from e820 map
nobody passes us the "RSD PTR " address when doing multiboot/kexec
on UEFI systems. so we search for it manually in the ACPI reserved
area as indicated in the e820 memory map.
2018-07-22 21:00:20 +02:00
qwx
f4b9f0304d dmid: better fnumber calculation and fix fine tuning for 2nd voice 2018-07-21 05:05:53 +02:00
cinap_lenrek
2d6f9f4700 ssh: fix nil dereference when TERM isnt set and -r is requested 2018-07-18 09:48:45 +02:00
cinap_lenrek
ec5227f7f5 merge 2018-07-16 23:55:45 +02:00
cinap_lenrek
00622d4d2b ndb/dns: fix delegation with norecursion (-R flag)
when the question zone is in a delegated area, we still
need to provide the nameservers.
2018-07-16 23:54:23 +02:00
cinap_lenrek
37b560e50f merge 2018-07-16 01:36:35 +02:00
cinap_lenrek
0d7bbda9b9 devmnt: make sure auth chan is on said conection in mntattach() 2018-07-16 01:35:02 +02:00
qwx
e7b1c1aad8 doom: use wadfs to expose music lumps
launch wadfs after detecting main wad, exposing GENMIDI and music lumps
under /mnt/wad.  /bin/dmus can then use them directly, and wadfs doesn't
need to be started manually.
2018-07-15 06:31:45 +02:00
cinap_lenrek
51b0b0235b bootrc: write fatal error message to fd2 2018-07-14 17:20:49 +02:00
mischief
c5559504cd ndb/dnsgetip: report errors when dns resolution fails 2018-07-13 20:44:57 +00:00
qwx
96e511d736 add games/dmid and games/opl3 2018-07-12 09:33:33 +02:00
aiju
d16a96daca pc64: update headers to match pc 2018-07-11 16:05:03 +01:00
aiju
6b0de3de8e pc: fix ugly and partially broken switch() statement 2018-07-11 15:12:24 +01:00
aiju
3a77c01f43 pc kernel: get rid of ugly and partially broken cpuid macros 2018-07-11 14:50:22 +01:00
aiju
911df94e5d asaudit: make error more explicit 2018-07-11 12:23:48 +01:00
cinap_lenrek
83de8c0f5f authsrv: log message when no AES key is found for pak 2018-07-11 10:17:04 +02:00
qwx
4e04e03142 midi: properly skip sysex messages
this fixes playing any midi files containing such messages
example: prince of persia midis from vgmpf wiki
2018-07-10 23:26:17 +02:00
cinap_lenrek
24611cf5ed ndb/cs: add -6 flag for v6 only lookups and "ipv4" control message to toggle v4 lookups. 2018-07-10 19:57:55 +02:00
cinap_lenrek
a8a6429204 devip: make il connect fail quickly when theres no route 2018-07-10 09:11:19 +02:00
cinap_lenrek
9898aafa0c devip: don't pad the tag for routing commands (fixes removing routes with < 4 character tags) 2018-07-09 01:32:21 +02:00
Alex Musolino
8fd222c157 upas/smtp: use current login id in absence of -u option (as per man page) 2018-07-08 12:18:06 +09:30
Alex Musolino
259a31e59b upas/smtp: allow remote port to be set to something other than smtp (e.g. ssmtp) 2018-07-08 12:05:42 +09:30
cinap_lenrek
e181b7e405 kbdfs: handle mouse control (Kmouse, Kshift button swap) in parallel, bring back ^X form handling 2018-07-07 21:10:38 +02:00
cinap_lenrek
cc5d74262c vncs: silence devdraw debug prints 2018-07-07 17:11:51 +02:00
spew
77ca4e0056 ape: fix MAXSIG 2018-07-03 14:41:14 -04:00
spew
ede15f38e5 ape: remove getitimer setitimer implemenations 2018-07-03 12:28:05 -04:00
aiju
ac891003ea games/mines: add missing checks for UseGhost 2018-07-03 07:22:19 +00:00
spew
2e05af858e ape: improve setitimer 2018-07-01 23:35:23 -04:00
spew
91d0343627 ape: an implemenation of getitimer setitimer 2018-07-01 18:48:12 -04:00
cinap_lenrek
899ec4d0b5 ssh: wait for remote channel close (thanks piroko) 2018-06-28 20:10:11 +02:00
23hiro
2f1b8246e2 Persist 'k' command in mothra and add matching -k flag (thanks piroko)
"I sometimes find myself on either slow or data-capped network links where downloading images isn't ideal. Attached is a simple patch to mothra that changes the 'k' command to not only remove already-downloaded images from a page, but also toggle a state such that mothra won't attempt to download images on future visited sites until 'k' is toggled again. This also adds a '-k' flag to mothra which enables the flag at startup." --Jeremy O'Brien<neutral@fastmail.com> on 9fans
2018-06-27 19:20:28 +02:00
cinap_lenrek
902eceee63 ndb/dns: fix encoding of srv record target
the target has to be encoded as a domain name (the individual
name components as separate labels followed by . (empty) label),
not as a literal string.

to disable compression, pass nil dictionary to pname().
2018-06-26 19:30:52 +02:00
qwx
deae5c854b mus: fix note volume and channel selection; simplify
- fix overwriting channel 10 with channel 9
- fix using channel volume instead of last volume when setting note
  (fixes d_doom and others)
- remove useless state
2018-06-26 10:35:23 +02:00
cinap_lenrek
65e0e1c3e3 merge 2018-06-24 21:54:21 +02:00
cinap_lenrek
8f1eb1ac77 webfs: don't handle unknown status codes as continuations, reset status when handling continuation to avoid infinite loop 2018-06-24 21:52:17 +02:00