251166 Commits

Author SHA1 Message Date
mbalmer
8fb8f475ed more dependiences -> dependencies 2017-06-04 08:54:38 +00:00
abhinav
2be9ef82e5 Fix typo: s/analoguous/analogous/ 2017-06-04 08:53:38 +00:00
mbalmer
251e610611 more dependiences -> dependencies 2017-06-04 08:52:42 +00:00
mbalmer
c5df2cb795 fix typo in comment 2017-06-04 08:50:27 +00:00
abhinav
12e252e9b3 Fix typo: s/compatability/compatibility/ 2017-06-04 08:48:05 +00:00
abhinav
4f5a1ab658 Fix typo 2017-06-04 08:34:34 +00:00
hannken
287643b0da Operations fstrans_start() and fstrans_start_nowait() now always
use FSTRANS_SHARED as lock type so remove the lock type argument.

File system state FSTRANS_SUSPENDING is now unused so remove it.

Regen vnode_if files.

Ride 8.99.1 less than a hour ago.
2017-06-04 08:05:41 +00:00
hannken
775d23a76b Operations fstrans_start() and fstrans_start_nowait() now always
use FSTRANS_SHARED as lock type so remove the lock type argument.
2017-06-04 08:03:26 +00:00
hannken
f5647f853e Locking a layer vnode using the regular bypass routine is no longer
racy.  Undo the change from 2017-03-30 11:16:52, commitid eurqbzuGxGRlryLz
and make vi_lock a krwlock_t again.
2017-06-04 08:02:26 +00:00
hannken
05a181bf68 Now that FSTRANS is part of VOP_*LOCK() remove FSTRANS and vdead_check()
from genfs_.*lock() and assert the vnode state once the vnode is locked.
2017-06-04 08:01:33 +00:00
hannken
48c67e7912 Regen. 2017-06-04 08:00:27 +00:00
hannken
dfcc54aa9c Add "FSTRANS=LOCK" and "FSTRANS=UNLOCK" to vop_lock and vop_unlock.
Add two "static inline" functions to vnode_if.c to handle MPSAFE
and FSTRANS before and after the "VCALL()".

Take FSTRANS and handle error before "VCALL(...vop_lock...)" and
release it after "VCALL(...vop_unlock...)".
2017-06-04 07:59:17 +00:00
hannken
8e1cefd98c A vnode is usually called "active", if it has an associated file system
node and a usecount greater zero.  Therefore rename state "VS_ACTIVE"
to "VS_LOADED" and add a new synthetic state "VS_ACTIVE" for VSTATE_ASSERT()
to assert an active vnode.

Add VSTATE_ASSERT_UNLOCKED() to be used with v_interlock unheld and
move the state assertion macros to sys/vnode_impl.h.
2017-06-04 07:58:29 +00:00
snj
4dd3054d6c zero out for 9.0 2017-06-04 07:18:39 +00:00
snj
62740183f3 roll 8.0 changes into CHANGES.prev 2017-06-04 07:18:22 +00:00
snj
7c67bced42 note netbsd-8 2017-06-04 07:17:09 +00:00
snj
58b76b4c18 8.0 update, and add 9.0 for THE FUTURE 2017-06-04 07:16:34 +00:00
snj
8737fd6f72 8.99.1 2017-06-04 07:14:56 +00:00
nat
fb0bb467be Fix volume botch. 2017-06-04 05:37:56 +00:00
kre
ea89b1308b DEBUG mode only change. Convert old trace style to new, and add some more.
NFC for any non-DEBUG shell.
2017-06-03 21:52:05 +00:00
mrg
184f8125d6 add __func__ to some panic strings. 2017-06-03 21:32:43 +00:00
mrg
e9aad8d696 avoid assert() and simply return errors. 2017-06-03 21:31:14 +00:00
mrg
99f85f4578 update copyright strings. 2017-06-03 21:28:48 +00:00
kre
d3573c91dc NFC: Code style only. Rather than being perverse and adding the
negative of a negative number, just add a positive number instead...
(the previous version came about purely as an accident of the way the
relevant piece of code was added and debugged.... that's my story anyway!)
2017-06-03 20:55:53 +00:00
abhinav
c45058c218 Fix typo: s/interrput/interrupt/ 2017-06-03 19:41:14 +00:00
kre
4dd9bbfe51 The correct usage of recordregion() is (begin, end) not (begin, length).
Fixing this fixes a regression introduced earlier today (UTC) where
arithmetic expressions would be split correctly when the arithmetic
started at the beginning of a word:
	echo $(( expression ))
where "begin" is 0, and so (begin, length) is the same as (begin, begin+length)
(aka: (begin,end) - and yes, "end" means 1 after last to consider).
but did not work correctly when the usage was
	echo XXX$( expression ))
(begin !+ 0) and would only split (some part of) the result of the expression.

This regression was also foung by the new t_fsplit:split_arith
test case added earlier to the ATF tests for sh.
2017-06-03 18:37:37 +00:00
kre
375027ae61 When we record an arithmetic expression ($(( ))) as being quoted,
what matters is the quoting state just before we switch into arithmetic
syntax parsing mode, not the state after...

This fixes the regiression introduced earlier today (UTC) where
quoted arithmetic expressions were being subjected to word splitting.
2017-06-03 18:31:35 +00:00
jmcneill
10227d7e80 Add and enable FDT glue for ARM PrimeCell PL050 (KMI) PS2 keyboard/mouse
interface.
2017-06-03 17:05:23 +00:00
jmcneill
08e913c093 Add driver for ARM PrimeCell PL050 (KMI) PS2 keyboard/mouse interface 2017-06-03 17:03:36 +00:00
kre
9817a5b1e5 Paranoia: add a new test case testing that $(( )) results get split
by IFS just the same as any other expansion (split when they should be,
and not when they shouldn't).

Good thing I did ... this discovered a regression in the new expand
code (from an hour or three ago) where quoted arith expansions are
being split, and shouldn't be.  (on the other hand, when they should
be split, they are being split correctly, so that's good...)

No need to worry too much about this, in real life (as opposed to
torture tests) no-one ever puts digits in IFS, and a $(( )) expansion
only ever contains digits, so in practice, splitting never happens,
whether because it is quoted, or just becaue there is nothing to split.

The FreeBSD shell does it correctly (they do word splitting using a
totally different mechanism than we do) - I will find where I missed
testing for quoted expansions later tonight.  Until that happens,
expect a test failure from t_fsplit:split_arith

While here add more comments in the other test casess (one had a comment
already) that our shell parses incorrectly (this is a parsing problem,
not an expansion problem, and the bug has existed forever .. and is
shared by bash).

That is, in an expression like "${var:-word}" the whole thing (including
word) is quoted by the double quotes, and in "${var:-"word"}" the
expansion is quoted, but 'word' is not, the 2nd " (the one before 'w')
ends the opening quote, and the third (before }) turns quoting on
again (it is required that there be an even number of unquoted quotes inside
a ${} expression, so things like "${var:-"word} are simply invalid.)
Another way of saying this, is that if the { is quoted (for which the
only way is using " to get to this kind of expansion at all) the }
must also be quoted (" quoted).  There is no quote nesting here.

This also means that in "${var:-'word'}" the single quotes are just
characters, they are quoted by the "" that surround them, just as in
"a 'string' containing quotes", but "${var:-"'word'"}} is valid and
contains a single quoted word.

Note that this is different than the patetrn-match/trim expansions
( ${var%pattern} etc) where any surrounding quotes do not affect the
pattern, and all forms of quoting can be used in it - but it always
parses as a pattern, and is never subject to filename expansion, so
a '*' in it that is to mean "match any string" does not need special
quoting to avoid it expanding to file names, regardless of whether
the ${var%*} is quoted or not, but a * that is to be matched as a
character literally does need to be quoted.

I will probably file a PR about this bug sometime, but as it is
very old, and doesn't every seem to bother anyone (and is shared by
bash) there isn't any big hurry to open yet another verry messy can
of excrement to fix it...

This does mean that the FreeBSD shell "fails" some of our tests.
(The test is wrong, their shell is correct.)
2017-06-03 15:15:49 +00:00
jmcneill
f6fd5ec53b Add framebuffer support. 2017-06-03 14:51:15 +00:00
jmcneill
be37a82e4c Add driver for ARM PrimeCell Color LCD controller (PL111). 2017-06-03 14:50:39 +00:00
jmcneill
b07b4d6982 Add type for ARM PrimeCell PL11x 2017-06-03 14:49:42 +00:00
jmcneill
c502e5635e Add helper for parsing display timings. 2017-06-03 14:48:02 +00:00
christos
af94e2cae1 remove me. 2017-06-03 14:47:52 +00:00
christos
9457db07cd remove my copyright (and clauses 3/4) 2017-06-03 14:47:25 +00:00
christos
b7db27c7e4 remove my copyright 2017-06-03 14:46:51 +00:00
christos
1a4bdd5296 remove my copyright. 2017-06-03 14:46:29 +00:00
kre
a12c6cfae6 Complete the special request by quoting chapter & verse from POSIX
as to why ${011} is ${11} and not ${9} (that is, why we interpret it
that way, the "why could it not be the other way?" is just "because
that is not how it was ever implemented".
2017-06-03 14:45:59 +00:00
christos
823b06f593 remove my copyright. 2017-06-03 14:44:12 +00:00
skrll
5183b3d2d5 Adjust the output of {ldr,str}x instructions slightly and deal with the
writeback bit.
2017-06-03 11:51:59 +00:00
kre
25950655c8 By special request, add a check that ${011} is ${11} not ${9} (etc) and
that ${08} is not an error.
2017-06-03 11:23:01 +00:00
kre
dd6b641408 Fixes to shell expand (that is, $ stuff) from FreeBSD (implemented
differently...)

In particular	${01} is now $1 not $0  (for ${0any-digits})

		${4294967297} is most probably now ""
			(unless you have a very large number of params)
		it is no longer an alias for $1  (4294967297 & 0xFFFFFFFF) == 1

		$(( expr $(( more )) stuff )) is no longer the same as
		$(( expr (( more )) stuff )) which was sometimes OK, as in:
			$(( 3 + $(( 2 - 1 )) * 3 ))
		but not always as in:
			$(( 1$((1 + 1))1 ))
		which should be 121, but was an arith syntax error as
			1((1 + 1))1
		is meaningless.

Probably some more.   This also sprinkles a little const, splits a big
func that had 2 (kind of unrelated) purposes into two simpler ones,
and avoids some (semi-dubious) modifications (and restores) in the input
string to insert \0's when they were needed.
2017-06-03 10:31:16 +00:00
kre
3806d6f4e4 Add some extra sub-tests checking splitting of ${#var} - just for my
piece of mind (to verify I was not breaking anything here.)

Also added some commentary better explaining why one of the tests of splitting
quoted variable expansions is almost certainly incorrect (both the tests,
and what sh does) ... though bash does the same as us, so all is not lost!
2017-06-03 10:27:05 +00:00
mrg
ba9d16c754 there are no copyright/license statements from "Terrence R. Lambert"
requiring attribution any in our tree any more.

remove it from our list here.
2017-06-03 09:00:35 +00:00
abhinav
4b784bbbb4 Fix typo: s/DIANOSTIC/DIAGNOSTIC 2017-06-03 08:44:59 +00:00
abhinav
7fecf65cb1 Add `instantiate' 2017-06-03 07:30:50 +00:00
jmcneill
004b2fe30d Trigger a software interrupt if any packets were transmitted in
lan9118_start to workaround a possible issue where completion interrupts
are missed and the watchdog timer fires.
2017-06-02 23:39:08 +00:00
jmcneill
58a6ed319e Create /dev/openfirm device for ofctl(8). 2017-06-02 22:20:21 +00:00
macallan
6c298c65b4 enable font loading / screen resizing 2017-06-02 22:08:00 +00:00