Age | Commit message (Collapse) | Author |
|
correct fix applied to 3 similar drivers
ok chl
|
|
ok kettenis@
|
|
since its an int, not a long.
ok deraadt@
|
|
until they're zombies and then send them signals (for intr mounts). Until
that is untangled, the sigacts change is unsafe. sthen@ was the victim
for this one
|
|
off anymore.
ok miod
|
|
what the previous IO was. Less chance of copy and paste errors.
Suggested by miod@.
|
|
(interrupt was not for me), 1 (positive interrupt was for me), or -1
(i am not sure...). We have continued with this practice in as many
drivers as possible, throughout the tree.
This makes some of the architectures use that information in their
interrupt handler calling code -- if 1 is returned (and we know
this specific machine does not have edge-shared interrupts), we
finish servicing other possible handlers on the same pin. If the
interrupt pin remains asserted (from a different device), we will
end up back in the interrupt servicing code of course... but this is
cheaper than calling all the chained interrupts on a pin.
This does of course count on shared level interrupts being properly
sorted by IPL.
There have been some concerns about starvation of drivers which
incorrectly return 1. Those drivers should be hunted down so that
they return -1.
ok and help from various people. In snaps for about a week now.
|
|
Found by LLVM/Clang Static Analyzer.
ok guenther@
|
|
are past. Use CLR() and SET() to modify necessary flags while leaving
the flags used by the buffer cache in peace.
Should make bufcache code much less confused about the state of the
bufs used in reading/writing disklabels. Other such flag abuses no
doubt await a visit.
Errors in original diff found by miod@.
ok beck@ deraadt@
|
|
be shared (p_sigignore, p_sigcatch, P_NOCLDSTOP, P_NOCLDWAIT) moves
to struct sigacts, wihle stuff that should be per rthread (ps_oldmask,
SAS_OLDMASK, ps_sigstk) moves to struct proc. Treat the coredumping
state bits (ps_sig, ps_code, ps_type, ps_sigval) as per-rthread
until our locking around coredumping is better.
Oh, and remove the old SunOS-compat ps_usertramp member.
"I like the sound of this" tedu@
|
|
using the -MD option to cc, with -MP, -MT, and -MF where needed, converting
"make depend" to a no-op. This increases parallelism for those using "make -j"
and keeps the dependencies up to date with each compilation automatically.
sparc and vax users will need to rebuild gcc with support for the
-M[PTF] options before config'ing with this diff.
|
|
Additional testing by jasper@ and pea@
|
|
Pluses:
- Add support SMBus for VT82C596, VT82C596B, VT82C686A, VT8231
- Add support ACPI timer for all VIA South Bridges
ok deraadt@, tested sthen@
|
|
addresses >4GB to 64-bit BARs have started to appear. But as long as machines
still support running 32-bit operating systems we don't expect to see BARs
that aren't addressable using PAE. Fixes a panic reported by william@.
ok deraadt@
|
|
and the problem isn't obvious yet.
|
|
value when this isn't possible in practice, use a 32 bit value.
ok kettenis@ miod@ oga@
|
|
the equivalent i386 file
ok kettenis@ deraadt@
|
|
ok matthew@ tedu@, also eyeballed by at least krw@ oga@ kettenis@ jsg@
|
|
some time, and return errnos instead. Fix or remove out-of-date comments
mentioning the error strings, and make their callers check the return value
against zero, not NULL.
|
|
Add pcb_fsbase to the PCB for tracking what the value for the thread
is, and ci_cur_fsbase to struct cpu_info for tracking the CPU's current
value for FS.base, then on return to user-space, skip the setting if the
CPU has the right value already. Non-threaded processes without TLS leave
FS.base zero, which can be conveniently optimized: setting %fs zeros
FS.base for fewer cycles than wrmsr.
ok kettenis@
|
|
a vforked child behave correctly. Have the parent in a vfork()
wait on a (different) flag in *its* process instead of the child
to prevent a possible use-after-free. When ktracing the child
return from a fork, call it rfork if an rthread was created.
ok blambert@
|
|
|
|
|
|
With current strategies to put memory in the ``correct'' place it isn't
needed. There's also the problem that it did not work on all machines,
failing completely on some and utterly breaking DMA. So just remove it.
If anyone needs it it will be in the Attic.
ok deraadt@
|
|
ok deraadt@
|
|
the top of the dma constraint range and panic if they are not.
ok deraadt@, thib@, oga@
|
|
|
|
|
|
Discussed and okay drahn@. Okay deraadt@.
|
|
|
|
mask out invalid bits to prevent a protect fault.
Original diff by joshe@; further feedback and ok kettenis@
|
|
BOOTBIOS_MAXSEC line.
ok deraadt@.
|
|
of them, as well as some other unused proc md_flags bits: MDP_COMPAT and
MDP_SYSCALL.
ok mikeb@
|
|
a global, a couple of parameters, and opening up possibility of
traversing much longer EBR lists without blowing the stack.
Make seach algorithm the same as used in kern/subr_disk.c by checking
all primary partitions in the MBR/EBR before moving to next EBR. This
makes it more likely that everybody finds the same OpenBSD partition.
Largely from a diff posted to tech@ by ucsavl.
|
|
the same as i386 version. No change to .o file except for the one
%lld -> %u format fix.
|
|
512-byte sectors) as some BIOSen get confused when we ask for sectors
higher up.
Uss u_int throughout the boot code to calculate sector addresses,
since 32 bits is enough to do 28 ^ 1 - 1 arithmetic. Add checks
for wraparound.
I can now install and boot from the 7th extended partition below
128GB.
Much feedback & guidance from deraadt@. Also from weingart@ on
BIOS io.
ok deraadt@ (less a couple of minor tweaks found in testing)
|
|
|
|
do 32-bit block spanning. If later on we get some that can/should do
64-bit, that can be done now using daddr64_t (but of course, we are taking
this step to finalize the daddr_t 64-bit conversion).
ok miod krw
|
|
Add missing __statement modifiers and correct %1 to %0 in the asm.
ok mikeb@, pirofti@, drahn@
|
|
be lied to by the BIOS about successfully reading data.
ok deraadt@ weingart@
|
|
Okay guenther@, millert@.
|
|
of the next EBR is relative to the start of the extended partition
described in the first MBR, not relative to the EBR specifying the
offset in its extended partition entry.
Clean up installboot -v output. Use daddr64_t for all sector numbers.
Not a complete fix, but better than what we had. More tweaks to
come.
Inspired by a diff and cluebat from uscav on tech@ a few weeks
ago.
Feedback from matthew@, weingart@.
ok deraadt@
|
|
ok ketttenis
|
|
in pxe.h.
ok deraadt@ sthen@
|
|
after every disklabel read or write. This keeps the DUID cache more
in sync with the physical world. De-syncing noted by drahn@ while
zapping disklabels with dd.
ok jsing@ deraadt@
|
|
holding locks, this is not allowed, and nobody has stepped up to fix this,
so better not lure people into using bluetooth devices.
|
|
|
|
this is not documented by Intel.
tested by henning on d525
|
|
softraid volumes. If installboot is run on a softraid volume, a fake
single inode FFS filesystem is constructed to contain boot(8). This is
then installed onto the softraid volume via the BIOCINSTALLBOOT ioctl.
biosboot(8) is then patched and installed onto each disk that is a member
of the softraid volume.
Joint work with otto@ who came up with the concept of constructing a fake
FFS filesystem and wrote the code to do so.
No objection from miod@
|
|
"doesn't hurt" deraadt@
|