Commit Graph

243919 Commits

Author SHA1 Message Date
martin
f0b8f9c13b From Michael Plass:
The superblock field that distinguishes between 4.2BSD and 4.4BSD
inodes is really only relevant on a UFS1 file system. Make sure that
it is a UFS1 fs before using fs_old_inodefmt.

Note that the NetBSD newfs and mkfs utilities initialize fs_old_inodefmt
even for UFS2, so problems were apparent only on file systems created
by other operating systems, for example, FreeBSD.
2016-07-28 08:24:58 +00:00
martin
1982ce327f PR kern/51371: avoid shifting negative values 2016-07-28 07:54:31 +00:00
martin
07832dcc0c PR kern/51371: fix misleading indentation 2016-07-28 07:52:06 +00:00
nonaka
d72787f787 regen 2016-07-28 03:09:47 +00:00
nonaka
720bf60533 Add Super Micro Computer Inc 2016-07-28 03:08:39 +00:00
nonaka
239c8e76b1 sort by vendor id. 2016-07-28 03:05:31 +00:00
maxv
9192e87177 Use UVM_PROT_ALL only if UVM_KMF_EXEC is given as argument. Otherwise, if
UVM_KMF_PAGEABLE is also given as argument, only the VA is allocated and
UVM waits for the page to fault before kentering it. When kentering it, it
will use the UVM_PROT_ flag that was passed to uvm_map; which means that it
will kenter it as RWX.

With this change, the number of RWX pages in the amd64 kernel reaches
strictly zero.
2016-07-27 16:45:00 +00:00
maxv
079335f30f Call cpu_init_msrs on i386 when waking up. Currently it does not change
anything, since MSR_EFER is already enabled earlier. But if we add new
MSRs in the future, we will want them when waking up as well.
2016-07-27 13:04:28 +00:00
maxv
441f58f71a Re-enable large pages on the data segment, but don't map the first page,
and add a comment to explain why. We will have to move the LAPIC VA.

The large page support is technically the same as before my last commit,
since in practice, the first page of .data is never mapped with large
pages.
2016-07-27 12:08:46 +00:00
skrll
442c44de38 Fix RB_KDB by calling the debugger entry points after pmap_bootstrap, etc 2016-07-27 11:13:14 +00:00
skrll
ac3daeaa4c Bump size of scratchstr - some KASSERTMGS exceed 256 characters 2016-07-27 09:57:26 +00:00
skrll
321454a08d Sprinle RCSID 2016-07-27 09:32:35 +00:00
msaitoh
1fdf1827c5 Print device ID with 8bits again (revert part of rev. 1.27) because
the revision field also printed next.
2016-07-27 09:11:44 +00:00
wiz
68e94d49dd New sentence, new line. 2016-07-27 08:38:25 +00:00
msaitoh
dde8159a11 - Add 0x54-0x57.
- Add note about sdtemp(4).
2016-07-27 07:44:10 +00:00
msaitoh
30742bf475 Add ichsmb(4), spdmem(4) and sdtemp(4). 2016-07-27 07:05:39 +00:00
msaitoh
e89450977b Add sdtemp(4) 2016-07-27 07:04:56 +00:00
pgoyette
827e59d955 Don't mutex_exit() if we didn't mutex_enter().
Pointed out by coypu. Thanks!
2016-07-27 05:14:40 +00:00
knakahara
c5ebd2d172 remove extra ifdefs. no functional changes.
ip_flow.c becomes build target only if GATEWAY kernel option is on.
So, "#ifdef GATEWAY" in ip_flow.c is not needed.
2016-07-27 04:23:42 +00:00
christos
813c85c184 start creating a table and say I will do binutils. 2016-07-27 02:33:40 +00:00
pgoyette
2d03daa3b0 If we're going to check for a NULL pointer, do the check before we
dereference it (to get the lock address).
2016-07-27 01:09:44 +00:00
msaitoh
ed49e6d12f Update supported masters and slaves. 2016-07-26 11:08:59 +00:00
ozaki-r
a25e7d83aa Fix downmatch increment 2016-07-26 08:34:55 +00:00
msaitoh
9e8ea18ecf Move functions to make module related code at the bottom of this file. 2016-07-26 08:13:57 +00:00
rkujawa
97a708d9fb Note MCP9804 now also supported by sdtemp(4) - thx msaitoh. 2016-07-26 08:05:51 +00:00
msaitoh
f55137418d Note sdtemp(4). 2016-07-26 07:36:54 +00:00
msaitoh
2da0061a6c - Add new devices.
- s/DDR2 and DDR3 SDRAM DIMMs/DDR2 and newer DIMMs/
2016-07-26 07:33:30 +00:00
msaitoh
eaa54fc0e2 Reviewed and OK'd by pgoyette:
- Add support for Atmel AT30TS00, AT30TSE004, Giantec GT30TS00, GT34TS02,
  Microchip MCP9804, MCP98244, IDT TS3000GB[02], TS3001GB2, TSE2004GB2,
  and On Semiconductor CAT34TS04. Taken from OpenBSD.
- Add IDT TSE2002GB2.
- Check the temperature resolution field in the capability register instead
  of the hard coded value in the match table. With this change, some devices'
  temperature resolution would be fixed.
- The resolution register is a vendor specific register.
- All of IDT devices have the resolution register.
- The address of the resolution register of Microchip MCP98244 is different
  from other Microchip devices.
- Show accuracy, range, resolution, high voltage standoff and shutdown with
  aprint_normal().
- Show timeout with aprint_debug().
2016-07-26 07:30:16 +00:00
msaitoh
f6eb233c18 - Print device ID in 16bits instead of 8bits in aprint_debug().
- s/STTS2002/STTS2004/ for STTS2004.
2016-07-26 07:25:51 +00:00
ozaki-r
e449cc85bc Simplify by using atomic_swap instead of mutex
Suggested by kefren@
2016-07-26 05:53:30 +00:00
skrll
6f48409465 Set the cause register to zero after disabling interrupts now that spl0
doesn't do it.

My cobalt now boots (again again)
2016-07-26 05:52:55 +00:00
martin
4f28c9c9b8 First cut at netbsd-8 branch objectives. 2016-07-26 04:18:04 +00:00
christos
5ee3355142 From Felix Deichmann:
While writing "slhci at tc" support, I noticed TC bus_space functions
for alpha don't work as they should (tc_bus_mem.c). Consideration of
dense vs. sparse space seems problematic, especially for widths < 4.

I found information mainly in

[1] https://web-docs.gsi.de/~kraemer/COLLECTION/DEC/d3syspmb.pdf
[2]
http://h20565.www2.hpe.com/hpsc/doc/public/display?docId=emr_na-c04623255

and a dirty (but tested) hack based on this is attached as an example.
It would be great if someone could have a look and do a cleaner version
preferably.

Especially the end of ([2] section 12.2.2) provides a summary of which
"instruction" to use for which data width in which space, and possible
side effects (unintentional double reads/writes) in dense space...
2016-07-26 03:09:55 +00:00
pgoyette
7ea3f07f30 When calling devsw_attach() we need to use the expected/official driver
name (as listed in the devsw_conv[] table) to get the expected device
majors.  Once rump initialization is finished (ie, it has created its
required device nodes), we need to detach the [bc]devsw so the module
initialization code doesn't get EEXIST.
2016-07-26 01:49:48 +00:00
nonaka
8c5b560fca IFQ_PURGE() must be called only after call if_initialize().
it lock ifp->if_snd.ifq_lock.
2016-07-26 01:36:50 +00:00
rjs
0dd1bf859c Restore correct test for return value from aarpresolve(). 2016-07-25 23:46:09 +00:00
macallan
57047aad51 xburst needs CPU_MIPS_D_CACHE_COHERENT 2016-07-25 22:10:03 +00:00
wiz
8cc73798f2 Remove one of the two SEE ALSO sections. 2016-07-25 22:00:36 +00:00
maxv
c94e670510 Remove lapic_id, lapic_ppr and lapic_isr. We need to be careful though: the
offset of lapic_tpr must not change, and the whole area must be exactly one
page.
2016-07-25 16:03:38 +00:00
maxv
cf24b4760e Unused. 2016-07-25 15:29:06 +00:00
maxv
f33afa1ba8 This needs to be page-aligned anyway. 2016-07-25 15:18:41 +00:00
pgoyette
9e4ecfb022 When initializing the rump cgd component, use the correct driver name
(as found in the devsw_conv[] table).  This will get us the "official"
major numbers for the cgd device.

After creating the rump file-space nodes for /dev/cgd* we then need to
detach the [bc]devsw's because normal module initialization will do its
own attachment, and we don't want that to fail.

While here, since we're doing the devsw_attach() twice, share the
results from the first call rather than starting from scratch.
2016-07-25 12:45:13 +00:00
maxv
b606a278f5 The L1 entry of the first page of the data segment is overwritten for the
LAPIC page, and set as RWX+PG_N. The LAPIC pa is fixed, and its va resides
in the data segment. Because of this error-prone design, the kernel image
map is not linear, and I first thought it was a bug (as I vaguely said in
PR/51148). Using large pages for the data segment is therefore wrong, since
the first page does not actually belong to the data segment (even if its va
is in the range). This bug is not triggered currently, since local_apic is
not large-page-aligned.

We will certainly have to allocate a va dynamically instead of using the
first page of data; but for now, disable large pages on the data segment,
and map the LAPIC as RW.

This is the last x86-specific RWX page.
2016-07-25 12:11:40 +00:00
ozaki-r
3a0f73376f Apply if_get/if_put to compat_ifioctl 2016-07-25 08:30:19 +00:00
christos
fe3d7b70d6 -Wno-stack-protector 2016-07-25 06:20:26 +00:00
erh
2b151ae574 Eliminate the distinct path check, since the paths don't actually need to be
distinct and allowing this makes certain useful tasks possible, such as
 fixing an unpopulated /dev while a tmpfs is mounted over it.
However, require the paths to be different, as mounting a path directly over
 itself has the side effect of causing any other mount points within that path
 to no longer be accessible, and is difficult to unmount when done on /.
2016-07-25 04:40:51 +00:00
ozaki-r
a3625f4d7b Make DAD of ARP/NDP MP-safe with coarse-grained locks
The change also prevents arp_dad_timer/nd6_dad_timer from running if
arp_dad_stop/nd6_dad_stop is called, which makes sure that callout_reset
won't be called during callout_halt.
2016-07-25 04:21:19 +00:00
ozaki-r
6b3e3b4814 Use KASSERT for checking non-NULL of ifa->ifa_ifp
ifa->ifa_ifp should be always non-NULL, so doing the check only if
DIAGNOSTIC is ok.
2016-07-25 01:52:21 +00:00
knakahara
49bfca5351 fix: unlock in reverse order 2016-07-25 00:10:38 +00:00
skrll
18d1e8722a Two fixes:
1) invesion of enable bits in splx (ipl_sr_map is disable mask)

2) Don't overwrite the cause register in spl0 - there might be pending
   softints.

The second helps with recent boot issues after several new workqueues
are created.  lwp_startup would call spl0 and lose the pending softints
status.
2016-07-24 18:04:04 +00:00