Be consistant in the way that MSIZE, MCLSHIFT, MCLBYTES and NMBCLUSTERS
are defined.
Remove old VM constants from cesfic port.
Bump MSIZE to 256 on mipsco (the only one that wasn't already 256).
there are other architectures (e.g. IA64) which also use PXE.
* Get the console right in pxeboot, from Andreas Gustafsson.
* Add a "com0" version of pxeboot, to address the same issue that
biosboot_com0 addresses.
- Add alignment-safe double and float unions.
- Use the above for the __infinity and __nan constants on all
architectures that use the standard ieee754 representation of
those constants.
- Add a single copy of various ieee754 math functions (frexp, isinf,
isnan, ldexp and modf) that had numerous duplicates among the
arch-specific directories.
- Use the above functions on all architectures where the generic C
versions where used. Architectures that had local assembly
routines are untouched (for those functions only).
* Add separate directories for the individual netboot ROMs and
always build them.
* Each bootloader Makefile explicitly specifies the start file
and link address it wishes to use.
* genprom becomes a proper host program.
* Make sure all generated files get cleaned up.
* Set BINDIR in Makefile.inc
* Add compressed image support to pxeboot.
* Make pxeboot use the default serial console speed (9600).
written by Alfred Perlstein, Paul Saab, John Baldwin for FreeBSD.
Still needs some work, but this will load a kernel on a Soekris net4501.
Many thanks to Frank van der Linden and his simulator wizardry for
helping me debug the low-level startup code.
of removing the duplicate variables, make sure that any duplicate
variable that has an initial value in libsa also has an initial
value here; this keeps the linker from pulling in the libsa
definition.
BIOS-bug-avoidance [fixes part of my own port-i386/11299], and (2) lets you
have APM and COMPAT_MACHO in the kernel at the same time. Also comments on
the special 8th entry and what else changing some of these values affects.
OK'ed by Frank.
This is required when two or more bridges on the same bus, and some of
them are incompletely initialized by BIOS.
Reported by NAKAGAWA Yoshihisa <y-nakaga@nwsl.mesh.ad.jp>
While we're here, enable RAIDframe (and RAID_AUTOCONFIG) by default for
architectures that I'm comfortable can deal with it being on by default.
Also: bump the number of 'raid' devices from 4 to 8, since 4 seems to
be insufficient in practise.
Raising math exception from fpu_save causes machine reboots.
Also, this fwait would cause incorrect results, as pending exceptions
are to be handled later after fxrstor.
configuration of devices logically attached to the ISA bus:
* Change the isa_attach_args to have arrays of io, mem, irq, drq
resources.
* Add a "pnpnames" and a linked list of "pnpcompatnames" to the
isa_attach_args. If either of these members are non-NULL,
direct configuration of the bus is being performed. Add an
ISA_DIRECT_CONFIG() macro to test for this.
* Drivers are not allowed to modify the isa_attach_args unless
direct configuration is not being performed and the probe fucntion
is returning success.
* Adapt device drivers -- currently, all driver probe routines return
"no match" if ISA_DIRECT_CONFIG() evaluates to true.
is what Solaris8 calls it
implement SVR4_TRAP_GETHRESTIME, though obviously only with microsecond accuracy
now clock_gettime(CLOCK_REALTIME, tp) works on Solaris8/i386
of a range which is protected by spl/splx. Originally proposed by
YAMAMOTO Takashi (yamt@netbsd.org) on tech-kern. This change mirrors
the one done by Bill Sommerfeld on the i386 mp branch.
Notes:
- I added bsd.obj.mk and made it work with objdirs.
- I added an entry point to the linker to fix a warning.
- I made the backup of biostramp.inc silent.
- I added missing clean targets.
This needs to be tested further.
Any problems reported by testers have been fixed, and massive
cross-compiling of kernels has shown that any problems that remain
with actually building kernels are not related to this.
Do not initialize global variables 'pciintr_icu_tag' to NULL.
Its type is 'const struct pciintr_icu *' (typedef'ed) and gcc sometimes(!)
put it in Text region. So force arrrange it to BSS.
(__HAVE_PTRACE_MACHDEP) and procfs (__HAVE_PROCFS_MACHDEP).
These changes will allow platforms like x86 (XMM) and PowerPC
(AltiVec) to export extended register sets in a sane manner.
* Use __HAVE_PTRACE_MACHDEP to export x86 XMM registers (standard
FP + SSE/SSE2) using PT_{GET,SET}XMMREGS (in the machdep
ptrace request space).
* Use __HAVE_PROCFS_MACHDEP to export x86 XMM registers via
/proc/N/xmmregs in procfs.
* need to specify DMA channel for DMACMD_SET_IO
* the upper byte of port was masked incorrectly
also update comment in _mca_bus_dmamap_sync() to current reality
* add flag to explicitly specify if the DMA should be done as 16bit or 8bit
* add flag to specify the DMA should happen via I/O port
* add new function mca_dma_set_ioport(), to set I/O port to be used for the
DMA operation
Also clarify copyright (welcome to 2001 :), and couple other minor nits
not support a value (e.g., it's to be used as "options FOO" instead of
"options FOO=xxx"). options that take a value were converted to
defparam recently.
- minor whitespace & formatting cleanups
interface, using the code from dev/mca/edc_mca.c:edc_setup_dma()
as a base. Use ISA routines for dmamap/dmamem functions, primarily
to get the buffer bouncing for >16MB RAM machines. The MCA DMA
channel is stored in unused upper 4 bits of ISA DMA cookie's
id_flags, hopefully that's not too disgusting :)
Export mca_dmamap_create(), which returns map suitable for further DMA
operations using MCA DMA controller.
mca_busprobe(): also report if machine has 32bit DMA (feature byte 2
bit 1)
Use symbolic names for DMA controller commands - I've finally got
info what they mean from Tymm Twillman's Linux include/asm/mca_dma.h.
No more magic constants! Also fix bug in the way DMA counter has been
setup - for 16bit DMA, it's necessary to tell the controller _half_
the byte count. This was wrong in the former code.
Don't make clean and cleandir depend on the lib subdir.
Just check for it's existance before running the submake.
This makes it possible to run a make build (which runs
cleandir before make obj) in a r/o source tree.
as config(8) will warn for value-less defparam options
- minor whitespace/formatting cleanup
- consolidate opt_tcp_recvspace.h and opt_tcp_sendspace.h into opt_tcp_space.h
- replace opt_kgdb_machdep.h with opt_kgdb.h
- defparam opt_kgdb.h:
KGDB_DEV KGDB_DEVNAME KGDB_DEVADDR KGDB_DEVRATE KGDB_DEVMODE
- move from opt_ddbparam.h to opt_ddb.h:
DDB_FROMCONSOLE DDB_ONPANIC DDB_HISTORY_SIZE DDB_BREAK_CHAR SYMTAB_SPACE
- replace KGDBDEV with KGDB_DEV
- replace KGDBADDR with KGDB_DEVADDR
- replace KGDBMODE with KGDB_DEVMODE
- replace KGDBRATE with KGDB_DEVRATE
- use `9600' instead of `0x2580' for 9600 baud rate
- use correct quotes for options KGDB_DEVNAME="\"com\""
- use correct quotes for options KGDB_DEV="17*256+0"
- remove unnecessary dependancy on Makefile for kgdb_stub.o
- minor whitespace cleanup
that anyone installs over HIPPI either. On the other hand, lots of people
would like to be able to install over their wireless networks or with their
Tigon Gig-E cards: so, let's synchronize this file's contents with the
modern world (at least a little bit).
Note that we really need to decide whether, as they used to be, the INSTALL
config files will be GENERIC with some lines *deleted* or whether they will
be GENERIC with some lines commented out. Using both styles is bad, but I
haven't fixed it in this commit.
build features (such as ross's DEBUGLIST) can easily be applied to all
ports. This should reduce the complexity of each port's kernel
Makefile considerably. Line counts:
227 arch/i386/conf/Makefile.i386.orig
98 arch/i386/conf/Makefile.i386
227 arch/alpha/conf/Makefile.alpha.orig
99 arch/alpha/conf/Makefile.alpha
219 arch/sparc/conf/Makefile.sparc.orig
102 arch/sparc/conf/Makefile.sparc
215 arch/vax/conf/Makefile.vax.orig
102 arch/vax/conf/Makefile.vax
253 conf/Makefile.kern.inc
Roll i386, alpha, sparc, and vax over to the new build machinery.
restore %fs/%gs appropriately.
Fixes kern/14275 - compat svr4 works on i386 again :)
Thanks to MOCHIDA Shuji for initial investigation on the issue, that helped
to find the bug a lot.
Make sure the CPUCLASS_686 entry has really 17 (i.e. 16 + default)
name entries as it's supposed to, so that code won't crash when
run on Intel CPUCLASS_686 processor which doesn't have name entry
in the table.
Reported and fix provided by Naoto Morishima in kern/14380.
%fs/%gs as appropriate.
XXX Note that the new sigcontext uses the new sigset_t instead of old
int sc_mask. The new FreeBSD sigcontext doesn't contain any backward
compatibility sc_mask, so basically old FreeBSD application making
use of sigcontext are hosed. This can't be fixed in NetBSD compat code.
the etc Makefile override that by putting USETOOLS into $.MAKEOVERRIDES
This way the default for kernel compiles is still to use the installed
toolchain instead of depending on $TOOLDIR. $TOOLDIR can be used by
simply adding USETOOLS=yes to the command line as usual.
Adjust each ports template to set the default no setting and also pull in
bsd.own.mk if they weren't already to ensure they'll build correctly
with the new toolchain setup.
amount of kvm used for buffers was set at 70%, some 188M. Then
the total amount of kvm became 1G, and the amount for buffers
thus became some 716M. This is really too much, and some
device drivers want to map quite a bit of kvm these days.
So, cap it at 384M, which gives each buffer a little over 8k (the
default FFS blocksize) physical in an 1G physram configuration.