Commit Graph

9265 Commits

Author SHA1 Message Date
maxv
9c4befc9b2 Update kern.ldscript.4MB. It is the same as kern.ldscript, but with a large
page alignment before rodata.
2016-05-16 07:52:31 +00:00
chs
6ee802c24a define ALTENTRY(), needed by dtrace. 2016-05-15 15:26:04 +00:00
maxv
9aca421dba Explicitly mention MP_TRAMPOLINE in these comments, so that NXR links them. 2016-05-15 10:35:54 +00:00
maxv
4c1aaf9dc6 Split the PRELOADED_MODULES+BOOTSTRAP_TABLES chunk into two separate
chunks mapped independently with RWX and RW, on both amd64 and i386.

This way the BOOTSTRAP TABLES are non-executable.
2016-05-15 07:17:53 +00:00
maxv
0d0621d260 Reduce the diff between amd64 and i386. We invert two instructions on
amd64, but it makes no difference since PDE_SIZE = 8.
2016-05-15 07:01:36 +00:00
maxv
8f728b8ede Actually, put the NOX identification above. Old CPUs do not support the
cpuid instruction.
2016-05-14 09:51:56 +00:00
maxv
f63de3d1a3 Map rodata and data+bss independently, and give them R and RW with
fillkpt_nox. The code is exactly the same as amd64's.
2016-05-14 08:49:16 +00:00
maxv
e39b2c82ed Define fillkpt_nox on i386, same as amd64.
But there is a difference in the way it is done here. If PAE is not enabled,
PDE_SIZE = 4, so there is no NOX bit set. If PAE is enabled, PDE_SIZE = 8,
so the NOX bit is set.

This works exactly as intended, since NOX does not exist in the non-PAE
case.
2016-05-14 08:39:41 +00:00
maxv
9d6cfafacd Fix the secondary CPUs bug in i386. Same as amd64. 2016-05-14 08:34:00 +00:00
maxv
3b5965adb8 Align the segments on i386. We're going to map them independently. 2016-05-14 08:19:42 +00:00
maxv
60dc596ebe Define killkpt, and don't use _RELOC. Same as amd64. 2016-05-14 06:49:34 +00:00
maxv
b9750d0de9 Bring some amd64 swag. No functional changes. 2016-05-13 14:03:00 +00:00
maxv
d32d8095a7 KNF a little, use C-style comments, and remove susword/fusword. No
functional changes.
2016-05-13 13:24:01 +00:00
maxv
7c62ff1587 Define __kernel_end. 2016-05-13 10:18:01 +00:00
maxv
f1985d170d Xen therefore uses x86/db_memrw.c, as I suspected. Define __rodata_start
in the Xen ld scripts, so that it can compile. We put the __rodata_start
definition right before __data_start, for it to appear as dead code, since
the rodata segment is not yet mapped independently on Xen.
2016-05-13 05:45:13 +00:00
maxv
f4ea937e9d KNF, and reduce the diff between amd64 and i386. 2016-05-12 09:40:23 +00:00
maxv
a23ebbfe56 KNF the Xen ld scripts on x86. 2016-05-12 06:57:55 +00:00
maxv
09b37bb062 Split the {text+rodata} chunk in two separate chunks on x86. The
rodata segment now loses the large page optimization, gets mapped inside
the data segment, and therefore becomes RWX. It may break the build on
Xen.
2016-05-12 06:45:16 +00:00
maxv
9acd6328a2 Switch to C-style comments, and reduce a little the diff between i386 and
amd64. No functional changes.
2016-05-11 17:48:05 +00:00
riastradh
fc1fa2bfde Enable nouveau in i386/ALL. Omit incorrect option NV_DEBUG.
NV_DEBUG does not appear except as a macro function in nouveau, which
is broken by defining it on the command line.

From coypu.
2016-05-11 02:09:10 +00:00
skrll
4e8e66439e Merge nick-nhusb
- API / infrastructure changes to support memory management changes.
- Memory management improvements and bug fixes.
- HCDs should now be MP safe
- conversion to KERNHIST based debug
- FS/LS isoc support on ehci(4).
- conversion to kmem(9)
- Some USB 3 support - mostly from Takahiro HAYASHI (t-hash).
- interrupt transfers now get proper DMA operations
- general bug fixes
    - kern/48308
    - uhub status notification improvements
    - umass(4) probe fix (applied to HEAD already)
    - ohci(4) short transfer fix
2016-04-23 10:15:27 +00:00
riastradh
e0a6926ea4 Enable nouveau by default again in x86 GENERIC. 2016-04-13 15:26:27 +00:00
mrg
0fd71d0df7 add a normal kernel that builds with PAE enabled. this is not yet
hooked into the normal build, but this is a working configuration
and on my 16GB test system, works fine.
2016-03-27 05:14:14 +00:00
mrg
65f5251eae remove a bunch of "@echo done" from the tail of rules. these messages
were vaguely useful back when we didn't run make -j, but now you end
up with a single line "done" every so often, with no idea what it is
for.  very few other targets claim they're done so just remove these.
2016-03-22 08:25:22 +00:00
gdt
af798e7b27 Disable uscanner in all kernel configs
As discussed on current-users@, SANE uses ugen via libusb and not
uscanner, so users are not well served by having uscanner.  Consensus
is that addressing how to adjust permissions for scanners should not
block restoring basic functionionality.

(Compile-tested only, but there are multiple reports of this being the
right approach.)
2016-03-19 23:21:02 +00:00
riastradh
566ef8a23e Revert to disabling nouveau by default in x86 GENERIC.
Haven't had time to debug the issues that seem to affect pretty much
everyone.  Maybe soon!
2016-03-05 17:08:48 +00:00
tls
1b1730d0f9 Add cpu_rng, a framework for simple on-CPU random number generators. 2016-02-27 00:09:44 +00:00
chs
2f02870f3b zero the i2c_attach_args structure before filling it in.
fixes occasional crashes in iic_attach().
2016-02-14 19:54:19 +00:00
riastradh
091e6ea2fb Add nouveau to x86 GENERIC kernels. 2016-02-13 19:53:23 +00:00
martin
be2b75ed4e New rawrite32 version out (small bugfixes) 2016-02-03 15:06:25 +00:00
christos
ba3275f8a0 PR/50748: David Binderman: check bounds before dereference 2016-02-03 05:27:53 +00:00
christos
386b5e25f6 one more. 2016-02-02 20:16:59 +00:00
christos
f09f85eee3 more relocations. 2016-02-02 20:16:08 +00:00
christos
512ffbb6fc expose __vaddr_t for segments.h since it is a userland api. 2016-01-24 18:21:50 +00:00
christos
d84c286204 expose the kernel types for standalone code. 2016-01-23 22:31:19 +00:00
christos
d77af8a6d9 We'll define the kernel types for standalone code. 2016-01-23 22:29:29 +00:00
christos
ffeb8dbf4e Define _KERNTYPES for things that need it. 2016-01-23 21:22:45 +00:00
christos
4d497c90e6 Hide {p,v}{addr,size}_t and register_t (and a couple more types that
are machine-specific) from userland unless _KERNEL/_KMEMUSER and a
new _KERNTYPES variables is defined. The _KERNTYPES should be fixed
for many subsystems that should not be using it (rump)...
2016-01-23 21:22:13 +00:00
riz
9ed3ff4a08 Enable KDTRACE_HOOKS on i386 and amd64 GENERIC. 2016-01-22 21:56:56 +00:00
christos
f99428016a PR/50668: David Binderman: Don't compare unsigned to -1 2016-01-17 14:57:18 +00:00
ryo
c2acaf5fa5 __mcount_lock is moved to MI from MD.
because it is needed for all MULTIPROCESSOR arch, but it is exists only in i386 and amd64.

ok christos@, on tech-kern@
2016-01-10 09:04:32 +00:00
msaitoh
0c27f9bb62 Add ismt(4). 2016-01-05 11:33:18 +00:00
christos
8b50aec9fa revert, this has to do with the bootloader protocol version and should
stay the same until there is a reason for it to change.
2016-01-04 18:17:31 +00:00
christos
c4c05f8e97 change 60 to 70 which is the current release. Noticed by Rares Aioanei. 2016-01-03 20:59:47 +00:00
maxv
38eb13bf9e Extend SMEP support to i386 (does not require PAE). 2015-12-16 18:54:03 +00:00
christos
035ebb230e one default is better than two 2015-12-13 21:03:31 +00:00
christos
317883ba5f better than returning random errors. 2015-12-13 19:51:53 +00:00
mlelstv
75a9f56358 PR 50516 bad switch statement.
Adding some comments.
2015-12-11 08:04:20 +00:00
maxv
5f9c9faaae KNF 2015-11-28 18:08:40 +00:00
mrg
9884c86a80 make sure MSGBUFSIZE can't expand strangely by using parens. 2015-10-27 22:28:56 +00:00