| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
the executable file, so it will work for both a.out and ELF format
files. I have split the object format specific code into separate
source files. It's cleaner than it was before, but it's still
pretty crufty.
Don't cheat on your make world for this update. A lot of things
have to be rebuilt for it to work, including the compiler and all
of the profiled libraries.
|
|
|
|
|
| |
of pages.
PR: 2431
|
|
|
|
|
|
|
|
|
|
|
|
| |
and use this when masking/unmasking interrupts.
Maintain a mapping from (iopaic number, int pin) tuple to irq number,
and use this when configuring devices and programming the ioapics.
Previous code assumed that irq number was equal to int pin number, and
that the ioapic number was 0.
Don't let an AP enter _cpu_switch before all local apics are initialized.
|
| |
|
|
|
|
|
|
|
| |
their one-size-fits-all kernel, this should help reduce the "out of foo"
reports.
Reviewed by: jkh
|
| |
|
|
|
|
|
| |
Submitted by: nsouch
root_bus_configure() call to initialize new bus arch in i386 env.
|
|
|
|
|
|
| |
- hw.ispc98 -> machdep.ispc98.
Submitted by: Garrett Wollman (hw -> machdep)
|
| |
|
|
|
|
|
|
|
|
|
| |
- moved definition of MACHINE_ARCH from cpu.h to parm.h as alpha.
- Added definitions of _MACHINE and _MACHINE_ARCH.
- Added hw.ispc98. The hw.ispc98 is 1 in PC98 kernel and is 0 in
IBM-PC kernel.
Discussed with: John Birrell <jb@FreeBSD.ORG>
|
|
|
|
|
|
|
|
|
|
| |
Add some overflow checks to read/write (from bde).
Change all modifications to vm_page::flags, vm_page::busy, vm_object::flags
and vm_object::paging_in_progress to use operations which are not
interruptable.
Reviewed by: Bruce Evans <bde@zeta.org.au>
|
| |
|
|
|
|
| |
Discussed-with: Jörg Wunsch
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
in a SMP system. Unexpected things could happen if each cpu
has a different ldt setting and one cpu tries to use value
of currentldt set by another cpu.
The fix is to move currentldt to the per-cpu area. It includes
patches I filed in PR i386/6219 which are also user ldt related.
PR: i386/7591, i386/6219
Submitted by: Luoqi Chen <luoqi@watermarkgroup.com>
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
stability now. ALso modify /sys/conf/files, /sys/i386/conf/GENERIC
and /sys/i386/conf/LINT to add entries for the XL driver. Deactivate
support for the XL adapters in the vortex driver. LAstly, add a man
page.
(Also added an MLINKS entry for the ThunderLAN man page which I forgot
previously.)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
applications. Here's how it works.
The kernel should include <machine/elf.h> to get the definitions
for the native architecture. It can reference the various ELF
structures with generic names like Elf_Sym, Elf_Shdr, etc. A define
__ELF_WORD_SIZE is also available with the value 32 or 64 as
appropriate for the native architecture.
Generic applications should include <elf.h>, which is just a wrapper
for <machine/elf.h>.
Applications such as object file dumpers that need to deal with
foreign ELF files can include <sys/elf32.h> and/or <sys/elf64.h>.
Both can be included from the same source file if desired. The
structure names must be referenced using wordsize-specific names
like Elf32_Sym, Elf64_Shdr, etc.
I haven't change the alpha stuff, but I haven't broken it either.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Cast pointers to (vm_offset_t) instead of to (u_long) (as before) or to
(uintptr_t)(void *) (as would be more correct). Don't cast vm_offset_t's
to (u_long) just to do arithmetic on them.
mp_machdep.c:
Cast pointers to (uintptr_t) instead of to (u_long). Don't forget
to cast pointers to (void *) first or to recover from integral
possible integral promotions, although this is too much work for
machine-dependent code.
vm code generally avoids warnings for pointer vs long size mismatches
by using vm_offset_t to represent pointers; pmap.c often uses plain
`unsigned int' instead of vm_offset_t and didn't use u_long elsewhere,
but this style was messed up by code apparently imported from mp_machdep.c.
|
|
|
|
|
|
|
| |
instead of at compile time using ifdefs.
Use _swi_null instead of dummycamisr. CAM and dpt should call
register_swi() instead of hacking on ihandlers[] directly.
|
|
|
|
|
|
| |
used yet.
Use dummy SWI handlers to avoid some checks for null pointers.
|
|
|
|
|
|
|
| |
instead of 0) was "restored" after handling a trap that occurred while
returning to user mode. This bug was most noticeable for VM86 and is
still detected and fixed up (on return from the next exception) in doreti
if VM86 is configured.
|
|
|
|
|
| |
change to include nfs_root.h precluded NFS from being defined.
Submitted by: Parag Patel <parag@cgt.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
fork_trampoline() if switchtime is valid. This fixes not accounting
for the time between the previous context switch and and the current
time (when the forked child starts up here) in most cases - the time
is now counted in the child's runtime. I think it actually fixes
all cases, and switchtime is always valid here, since there must have
been a context switch just before the forked child starts up. Some
code should be removed if this is correct. The check that switchtime
is valid sometimes gives a false negative because the check isn't
correct until the after the first context switch after the system
has been up for >= 1 second.
|
|
|
|
| |
Cleaned up the conditionals in the disgusting SMP ifdef in idle().
|
| |
|
|
|
|
|
| |
not have to call sysarch() directly.
Added man pages for above, as well as sysarch()
|
|
|
|
|
| |
Change struct i386_*_iomap to use ints instead of shorts/chars.
(pointed out by bde long ago, prodded into action by msmith)
|
|
|
|
|
|
|
| |
potentially re-use the stack page.
Cosmetic cleanup of the code to de-obfuscate it and make it easier
to follow. There should be no functional changes in this commit.
|
|
|
|
|
|
| |
supports PnP and if_media. I've been running a slightly older version
here for several weeks now.
Submitted by: Maxim Bolotin <max@rsu.ru>
|
|
|
|
|
| |
committing it. There was a large syntax error at line 404 which could
not possibly have allowed compilation. :)
|
|
|
|
|
|
|
|
| |
small part of a bug suite beginning in the SLICE probes but mostly in the
floppy driver. This is a quick fix: the auto case shouldn't be special;
DMA should also be stopped in isa_dma_release(); isa_dmastop() probably
shouldn't exist; common DMA registers should not be accessed without
locking.
|
|
|
|
|
|
| |
systems. This test should probably be removed altogether.
See CVS log entries for revisions 1.97 and 1.98.
|
|
|
|
|
|
| |
only (normally).
PR: kern/7176
|
|
|
|
| |
especially now that %n format has almost gone away.
|
|
|
|
|
|
| |
uintptr_t before casting them to pointers. Explicit u_longs should
never be used to represent virtual addresses... (vm_offset_t is
normally right).
|
|
|
|
|
|
|
|
| |
suitable for holding object pointers (ptrint_t -> uintptr_t).
Added corresponding signed type (intptr_t). Changed/added
corresponding non-C9x types for function pointers to match. Don't
use nonstandard types to implement these types, and don't comment
on them in <machine/types.h>.
|
|
|
|
| |
Use offsetof() instead of null pointer hacks.
|
| |
|
|
|
|
|
|
|
| |
but instead disable pmap_setvidram() which is called, but probably
shouldn't be.
PR: 7227, 7240
|
| |
|
|
|
|
|
|
| |
ensure 32-bit variables. Doing so mainly bogotified some printf formats.
Fixed disorder in md_var.h.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
just to ensure 32-bit variables. Doing so broke and/or pessimized
i386's with 64-bit longs (unnecessary use of 64-bit variables
caused remarkably few problems in C code, but the inline asm here
tended to fail because there are no 64-bit registers). Since the
interfaces here are very machine-dependent and shouldn't be used
outside of the kernel, use a standard types of "known" width instead
of fixed-width types.
Changed all quad_t's to u_int64_t's. quad_t isn't standard, and
using signed types for 64-bit registers was bogus (but made no
difference).
|
|
|
|
|
| |
!KERNEL case. The kludge to get it declared in libc/gmon/mcount.c wasn't
sufficient because fptrint_t is used in <sys/gmon.h>.
|
|
|
|
|
|
|
|
|
|
| |
least unsuitable for holding an object pointer. This should have been
used to fix warnings about casts between pointers and ints on alphas.
Moved corresponding existing general typedef (fptrint_t) for function
pointers from the i386 <machine/profile.h> to a kernel-only typedef
in <machine/types.h>. Kludged libc/gmon/mcount.c so that it can
still see this typedef.
|
| |
|
|
|
|
|
| |
became `long *' for alpha, but should always have been `db_expr_t *'.
Fixed variable types to match.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There is only cdevsw (which should be renamed in a later edit to deventry
or something). cdevsw contains the union of what were in both bdevsw an
cdevsw entries. The bdevsw[] table stiff exists and is a second pointer
to the cdevsw entry of the device. it's major is in d_bmaj rather than
d_maj. some cleanup still to happen (e.g. dsopen now gets two pointers
to the same cdevsw struct instead of one to a bdevsw and one to a cdevsw).
rawread()/rawwrite() went away as part of this though it's not strictly
the same patch, just that it involves all the same lines in the drivers.
cdroms no longer have write() entries (they did have rawwrite (?)).
tapes no longer have support for bdev operations.
Reviewed by: Eivind Eklund and Mike Smith
Changes suggested by eivind.
|
| |
|