Commit Graph

236933 Commits

Author SHA1 Message Date
maxv
8a3764c147 Remove uvm_extern.h and exec.h (unused). 2015-08-04 12:44:04 +00:00
maxv
bc1457cb8c Small changes:
- remove the per-page stuff. It has been disabled for 10 years, and it is
   not implemented properly.
 - typo in comment
 - use KASSERT
2015-08-04 11:42:08 +00:00
dholland
ba69475758 Remove CreationDate from the header of output postscript. Also, feed -n
to gzip when compressing so it doesn't store the timestamp in the file
header. For MKREPRO, but unconditional as the information omitted isn't
particularly useful. PR 50116.
2015-08-04 08:36:14 +00:00
ozaki-r
2179c9b76f Check the output of ndp -d strictly 2015-08-04 07:43:25 +00:00
jmcneill
199ff6c06a Enable UHS-I support 2015-08-04 01:23:07 +00:00
jmcneill
8fd9a25d42 ODROID-C1 has a bug where the card is not power-cycled when the board is
reset. If you had previously switched to 1.8V signaling level, upon reboot
the card will still be in 1.8V mode and you cannot detect it with an S18R
request.

A card in 1.8V mode will report UHS modes though, so if the card reports
SDR50, DDR50, or SDR104 capabilities, and the previous S18R request failed
to switch, use this as an opportunity to re-enable UHS support in the
subsystem and host controller drivers.
2015-08-04 01:21:55 +00:00
jmcneill
45dc1de2bf instead of trying to handle cards already in 1.8V mode, request host controller to switch to 3.3V signaling before starting the init sequence 2015-08-04 00:32:05 +00:00
jmcneill
7494b158da Handle cards that are already in low voltage (1.8V) mode. Test correct
bit when determining the best SD transfer mode.
2015-08-03 19:17:35 +00:00
dholland
6ad7a6672a Simplify some leftover code and remove some old assertions.
Last year when I killed off some evil dirop-related macros, I added
these assertions because if the things they asserted weren't true we'd
be leaking vnodes. Well, it seems that the code at the time did leak
vnodes, so certain failure cases (e.g. mkdir with disk full) would
assert. Nobody apparently tripped on this in the past fourteen months,
until I broke balloc so it always failed (unrelatedly) while working
on some LFS64 changes.

However, the vnode leak has since been removed by hannken@ as part of
the vnode cache changes, so the assertions are now superfluous;
instead, just make sure *vpp gets nulled on failure, and don't worry
about whether or not VU_DIROP is set as it shouldn't matter any more.

XXX: there's still a lot of gratuitous pointer aliasing in here that
should be tidied away.
2015-08-03 17:33:54 +00:00
jmcneill
fa305bc80c set SDHC_FLAG_POLL_CARD_DET when we have a card detect pin 2015-08-03 12:11:52 +00:00
jmcneill
7adf6ea00e Add SDHC_FLAG_POLL_CARD_DET flag which lets the bus glue request polling
instead of standard SDHC card insert / detach events.
2015-08-03 12:11:36 +00:00
jmcneill
192a77dde3 clear SMF_UHS_MODE flag before enabling card 2015-08-03 12:10:29 +00:00
jmcneill
748dbb5104 fix SDMMC_DEBUG build 2015-08-03 11:24:17 +00:00
jmcneill
6fec206d1e DDR50 and SDR104 don't seem to be stable here, so disable them 2015-08-03 10:27:32 +00:00
jmcneill
4c1760c2b4 Print the selected transfer mode if known. 2015-08-03 10:09:08 +00:00
jmcneill
9350eba507 Add support for DDR50 transfer modes. 2015-08-03 10:08:51 +00:00
ozaki-r
2f55a7d3ed Add tests for NDP 2015-08-03 09:54:20 +00:00
ozaki-r
10613e2fe6 Introduce rump.ndp
ndp(8) uses RTM that requires that getpid(2) works correctly. Unfortunately
supporting getpid(2) in librumphijack will be tricky so that we rump-ify
ndp(8) as well as arp(8).
2015-08-03 09:51:40 +00:00
msaitoh
b89ddcf4da Add missing evcnt_detach(&rxr->rx_copies) in ixgbe_detach(). 2015-08-03 05:43:01 +00:00
mlelstv
ab5c323404 use mutex locking for MP safety. 2015-08-03 05:32:50 +00:00
mlelstv
02bd0a1d9d more debug output 2015-08-03 05:26:53 +00:00
mlelstv
fecfff5069 better error message 2015-08-03 05:24:37 +00:00
christos
6fe583ecd6 1. mask fflags so we don't tack on whateve oflags were passed from userland
2. honor O_CLOEXEC, so the children of daemons that use cloning devices, don't
   end up with the parents descriptors
fd_clone and in general the fd approach of 'allocate' > 'play with guts' >
'attach' should be converted to be more constructor like.
XXX: pullup-{6,7}
2015-08-03 04:55:15 +00:00
dholland
076dce6286 Use intmax_t to print daddr_t; from sevan@. 2015-08-03 04:16:10 +00:00
jmcneill
8fc8e58857 don't select SDR12 mode if we are <= 400 kHz 2015-08-03 00:44:52 +00:00
jmcneill
a9d443eb60 dont confuse signaling voltage and bus voltage 2015-08-03 00:19:27 +00:00
jmcneill
8b09343dd9 Add support for eMMC 5.0 HS200 timings. 2015-08-02 22:47:05 +00:00
jmcneill
57b5f3f4ec enable UHS support 2015-08-02 22:09:43 +00:00
jmcneill
8055da5b7d let SDHC_FLAG_HOSTCAPS override SDHC_CAPABILITIES2 as well 2015-08-02 22:01:28 +00:00
jmcneill
778d004ee1 set ref clk to 204MHz so we can take advantage of UHS-I modes 2015-08-02 21:45:52 +00:00
jmcneill
30f521ffbf add support for UHS-I modes on capable 3.0+ controllers 2015-08-02 21:45:12 +00:00
jmcneill
d0524104f2 Add basic UHS-I support. SDR50 and SDR104 are supported, but not DDR50. 2015-08-02 21:44:36 +00:00
jmcneill
cb960d1469 add makefile for installing hdmicecio.h 2015-08-02 21:22:34 +00:00
dholland
d36f790b9a whoops, fix 32-bit build 2015-08-02 20:23:21 +00:00
dholland
a296d73dae Pass the fs object to LFS_MAX_DADDR so it can check lfs_is64.
Remove some hackish intentional 64->32 truncations next to the checks
using LFS_MAX_DADDR, and tackle the problem they handled in bmap
instead.

The problem: the magic block pointer value UNWRITTEN has magic value
-2, and if it's not handled specifically, uint32 -> uint64 promotion
turns it into 4294967294, which then causes consternation and
monkeyhouse downstream.

What's here is still kind of a hack, but it's a step forward.
2015-08-02 18:18:46 +00:00
dholland
9e5184b86b Add a (draft) 64-bit superblock. Make things build again.
Add pieces of support for using both superblock types where
convenient, and specifically to the superblock accessors, but don't
actually enable it anywhere.

First substantive step on PR 50000.
2015-08-02 18:18:09 +00:00
dholland
992b9a23af Use accessor functions for the version field of the lfs superblock.
I thought at first maybe the cases that test the version should be
rolled into the accessors, but on the whole I think the conclusion on
that is no.
2015-08-02 18:14:16 +00:00
dholland
1d22bb8bfe lfs_cleanint[] in the in-memory superblock needs to have 64-bit entries. 2015-08-02 18:12:59 +00:00
dholland
f5b8b21a8e Make i_eff_nblks in the in-memory inode 64 bits wide. 2015-08-02 18:12:41 +00:00
dholland
31c72b56c0 Don't include ufs headers. 2015-08-02 18:12:18 +00:00
dholland
9263edc766 Use the lfs header file and lfs's mount args struct, not ufsmount.h
and the ffs mount args struct, for mounting lfs.

(they are the same, so this doesn't matter yet, but still...)
2015-08-02 18:11:57 +00:00
dholland
ae8b3536ce Typo in comment. 2015-08-02 18:11:36 +00:00
dholland
eed9c32288 Use c99 initializers. 2015-08-02 18:11:12 +00:00
dholland
baa6681581 Fix catastrophic bug in lfs_rewind() that changed segment numbers
(lfs_curseg/lfs_nextseg in the superblock) using the wrong units.
These fields are for whatever reason the start addresses of segments
(measured in frags) rather than the segment numbers 0..n.

This only apparently affects dumping from a mounted fs; however, it
trashes the fs.

I would really, really like to have a static analysis tool that can
keep track of the units things are measured in, since fs code is full
of conversion macros and the macros are named inscrutable things like
"sntod" whose letters don't necessarily even correspond to the units
they convert. It is surprising that more of these are not wrong.
2015-08-02 18:10:55 +00:00
dholland
078ffcb8d8 Second batch of 64 -> 32 truncations in lfs, along with more minor
tidyups and corrections in passing.
2015-08-02 18:10:07 +00:00
dholland
95a8d28c27 Fix assorted 64 -> 32 truncations in lfs. Also, some minor tidyups and
corrections in passing.
2015-08-02 18:08:12 +00:00
dholland
e12e41530f Allow superblock accessors that widen 32-bit disk fields to 64-bit
memory values.
2015-08-02 17:57:27 +00:00
dholland
af0d133055 Fix bug: for format version 1, the superblock "size" field is measured
in blocks instead of frags, so use lfs_blkstofrags to correct it.

This code was instead multiplying by the block size divided by
DEV_BSIZE to get the number of disk blocks rather than the number of
frags. (I gather that originally these were the same, but they're not
necessarily any more.)
2015-08-02 17:56:24 +00:00
jmcneill
df3fcab6a5 When halting a channel, abort the current DMA CB and reset the channel
before stopping DMA.
2015-08-02 16:46:12 +00:00
wiz
282efd00b8 Fix two typos. 2015-08-02 12:19:12 +00:00