Age | Commit message (Collapse) | Author |
|
code as well to improve diffability. Changes the types used in the arm64
"struct sigcontext" to avoid having to include <sys/types.h>.
ok deraadt@
|
|
the target CPU interface when establishing an interrupt. Makes interrupts
work on machines that boot up on a CPU that is attached to a CPU interface
that isn't zero.
Discussed with Dale Rahn.
|
|
From Markus Hennecke, thanks
|
|
machdep.lidaction=0 # do nothing
machdep.lidaction=1 # suspend
machdep.lidaction=2 # hibernate
lidsuspend is just an alias for lidaction, so if you change one, the
other one will have the same value. The plan is to remove
machdep.lidsuspend eventually when people have upgraded their
/ets/sysctl.conf.
discussed with deraadt, who came up with the new MIB name
no objections mlarkin
ok stsp halex jcs
|
|
unsigned variables as argument in most places anyway. Decrease the
chance of signedness/range mismatch issues.
ok stefan
|
|
Needed for ports/devel/llvm which builds large executables with a .text
section over 32M. Remove the comment about the +/-32M limitation of
branch instructions, which can be lifted using other techniques
(eg cc -mlong-calls) and should not be enforced by the kernel.
ok guenther@ patrick@ jsg@ kettenis@
|
|
- FORK_THREAD handling is a totally separate function, thread_fork(),
that is only used by sys___tfork() and which loses the flags, func,
arg, and newprocp parameters and gains tcb parameter to guarantee
the new thread's TCB is set before the creating thread returns
- fork1() loses its stack and tidptr parameters
Common bits factor out:
- struct proc allocation and initialization moves to thread_new()
- maxthread handling moves to fork_check_maxthread()
- setting the new thread running moves to fork_thread_start()
The MD cpu_fork() function swaps its unused stacksize parameter for
a tcb parameter.
luna88k testing by aoyama@, alpha testing by dlg@
ok mpi@
|
|
leaving out the size, so that
ELFNAME2(exec,makecmds)
becomes
exec_elf_makecmds
instead of
exec_elf{32,64}_makecmds
and then delete the ELFNAME2() and ELFNAMEEND() macros.
Move the prototypes for functions local to exec_elf.c to there from
exec_elf.h.
Simplify the SMALL_KERNEL conditionals around the ELF coredump code.
Change exec_conf.c to use the size-generic names and macros
Remove exec_elf{32,64}.c and just build exec_elf.c; delete the
_KERN_DO_ELF and _KERN_DO_ELF64 #defines.
ok jca@, encouragement from deraadt@ and tom@
|
|
these currently to 255. Thus making it impossible to use higher IRQs
than that. The AMD Seattle SoC though seems to provide 448 IRQs, which
is kind of out of bounds, so raise them to the proper values. This
makes interrupts work on that machine.
|
|
this has been pointed out to me by a couple of people now.
|
|
While here document prfind(9.
with and ok guenther@
|
|
|
|
|
|
virtio itself is not PCI, it is a paravirtual bus on top of either PCI
or MMIO (arm). This is the first step of moving the virtio files to
dev/pv. No functional change.
arm kernel changes tested by jsg@ and patrick@
no objections from sf@ mlarkin@
|
|
struct proc to struct process.
ok deraadt@ kettenis@
|
|
OK mpi@
|
|
|
|
ok kettenis@ patrick@
|
|
sense and builds as part of an MP kernel.
ok kettenis@ mpi@
|
|
and remove some xscale definitions.
ok kettenis@
|
|
on some platforms that use device trees. Works on Allwinner (sunxi) and
should also work on Raspberry Pi (broadcom) armv7 platforms.
ok jsg@, visa@
|
|
ok kettenis@ patrick@
|
|
|
|
ISA and PIO don't really fit in the ARM landscape. Suggested by patrick@
and kettenis@, ok deraadt@
|
|
ok patrick@ kettenis@
|
|
supported by the controller is not too big. Otherwise the mask will be
wrong and the calculated IRQ as well. Split the dynamic mask into two
pieces. First of all use a static mask to remove the bits we don't want
to look at. Then we use that value to check for spurious or false IRQs.
ok jsg@
|
|
it happened on a kernel page, we need to consult the kernel pmap
instead of the current proc's pmap. Fixes panic when using tmpfs.
ok kettenis@
|
|
simplebus compatible bus drivers.
ok kettenis@
|
|
powerpc: rename second argument of pmap_proc_iflush() to match other archs
ok kettenis@
|
|
Build testing assistance from deraadt@
|
|
means that even though the hardware in the end never leaves the 32-bit
address space, some addresses used solely in the device tree can be
bigger than 32-bit. As bus_space_map(9) takes addresses of size
bus_addr_t, which is 32-bit on ARMv7, we cannot pass those virtual
addresses to the parent bus, even though it will be mapped back into a
32-bit address in the end. To work around this, make bus_space_map(9)
take a 64-bit address. Since this is implemented as a macro and
function pointer we can safely do that without harming any other
architecture.
ok kettenis@ deraadt@
|
|
ok deraadt@ tom@ patrick@
|
|
ok patrick@, jsg@
|
|
Add sysctl kern.allowkmem (default 0) which controls the ability to open
/dev/mem or /dev/kmem at securelevel > 0. Over 15 years we converted 99%
of utilities in the tree to operate on sysctl-nodes (either by themselves
or via code hiding in the guts of -lkvm).
pstat -d and -v & procmap are affected and continued use of them will
require kern.allowkmem=1 in /etc/sysctl.conf. acpidump (and it's
buddy sendbug) are affected, but we'll work out a solution soon.
There will be some impact in ports.
ok kettenis guenther
|
|
ok guenther@
|
|
address of the end of the symbol table. This will make it possible to get
rid of the code in the bootloader that patches up the kernel with the updated
esym value.
ok tom@, patrick@
|
|
of an array to a null pointer that is always false. Found with clang.
ok jsg@
|
|
generates calls to these functions when compiling an armv7 kernel.
Code from NetBSD's unified userland+kernel implementation, with lots of
irrelevant (for us) #ifdefs removed.
ok patrick@, guenther@
|
|
string literal" warning from clang and matches what we do on amd64.
|
|
Based on a similar diff in bitrig.
No binary change when compiled with gcc.
ok patrick@
|
|
commit did not copy the vaddr information to the map's segments. This
means non-coherent bus dma raw mappings could not be synced.
As only agp(4) and radeondrm(4) seem to make use of non-coherent raw
mappings at the moment, this bug did not cause any visible effects.
From Marius Strobl.
ok kettenis@
|
|
spotted by Markus Hennecke
|
|
ok guenther@ millert@
|
|
|
|
ok patrick@, jsg@
|
|
|
|
ok guenther@
|
|
the ioff argument to pool_init() is unused and has been for many
years, so this replaces it with an ipl argument. because the ipl
will be set on init we no longer need pool_setipl.
most of these changes have been done with coccinelle using the spatch
below. cocci sucks at formatting code though, so i fixed that by hand.
the manpage and subr_pool.c bits i did myself.
ok tedu@ jmatthew@
@ipl@
expression pp;
expression ipl;
expression s, a, o, f, m, p;
@@
-pool_init(pp, s, a, o, f, m, p);
-pool_setipl(pp, ipl);
+pool_init(pp, s, a, ipl, f, m, p);
|
|
ok deraadt@ guenther@
|
|
|