Commit Graph

412 Commits

Author SHA1 Message Date
lukem
4bb41ae2f2 Rework how KERNOBJDIR functions; now it's always determined with
cd ${KERNSRCDIR}/${KERNARCHDIR}/compile && ${PRINTOBJDIR}
This is far simpler than the previous system, and more robust with
objdirs built via BSDOBJDIR.

The previous method of finding KERNOBJDIR when using BSDOBJDIR by
referencing _SRC_TOP_OBJ_ from another directory was extremely
fragile due to the depth first tree walk by <bsd.subdir.mk>, and
the caching of _SRC_TOP_OBJ_ (with MAKEOVERRIDES) which would be
empty on the *first* pass to create fresh objdirs.

This change requires adding sys/arch/*/compile/Makefile to create
the objdir in that directory, and descending into arch/*/compile
from arch/*/Makefile.  Remove the now-unnecessary .keep_me files
whilst here.

Per lengthy discussion with Andrew Brown.
2003-01-06 17:40:18 +00:00
thorpej
95fa2e148a Use aprint_normal() for cfprint routines. 2003-01-01 01:57:51 +00:00
thorpej
78ea2dd367 Use __LDPGSZ (which must be == USRTEXT) as the text address for a.out
executables, and eliminate the USRTEXT constant, which was only used
by the a.out exec code.
2002-12-10 05:14:24 +00:00
manu
9f6565f2bd A working fork/vfork implementation. Darwin fork differs from our fork by
two ways:
- the child gets its pid as retval[0] (userland stub will turn it into a 0),
retval[1] is 1 and it is 0 in the parent.
- in the child, the fork syscall is successful, hence we must skip the next
instruction.
2002-12-08 21:53:10 +00:00
lukem
0635de35a3 Remove KDIR=, since SYS_INCLUDE=symlinks and KDIR are not supported any more. 2002-11-26 23:30:07 +00:00
matt
c9699a165e Add missing file. 2002-10-30 18:31:39 +00:00
manu
fe4e91080d Moved binary compatibility options from arch directory to cpu directory 2002-10-30 06:26:42 +00:00
jdolecek
c82ab2eb79 now that mem_no is emitted by config(8), there is no reason to keep
copy of more or less identical iskmemdev() for every arch; move the function
to spec_vnop.c, and g/c machine-dependant copies
2002-10-26 13:50:17 +00:00
briggs
c315d5acf6 Double the amount of stack space for ofwboot. 2002-10-25 18:19:43 +00:00
elric
5ab71e20b0 Added commented out cgd(4)s to GENERIC configs. 2002-10-14 18:39:22 +00:00
provos
2f7a0aaac8 add SYSTRACE; approved perry. 2002-10-06 02:11:54 +00:00
elric
d19d268a95 assign majors for raw and cooked cgd's. 2002-10-04 18:28:24 +00:00
thorpej
adb90ad2ae Use CFATTACH_DECL(). 2002-10-02 04:17:21 +00:00
thorpej
f818766afe Declare all cfattach structures const. 2002-09-27 20:31:45 +00:00
provos
0f09ed48a5 remove trailing \n in panic(). approved perry. 2002-09-27 15:35:29 +00:00
thorpej
71404bb533 Don't include <sys/map.h>. 2002-09-25 22:21:01 +00:00
martti
81e8d78cd4 Add one space between "#option" and "<tab>IPFILTER_DEFAULT_BLOCK" 2002-09-25 11:49:48 +00:00
simonb
63096043b3 Use "#define\t" instead of "#define ". 2002-09-22 08:30:56 +00:00
chs
eaa116beda tidy a bit. 2002-09-21 01:18:40 +00:00
chs
481bfd199b don't install a couple headers that are of no use in userland. 2002-09-21 01:17:44 +00:00
chs
1135d1326e remove protos for non-existant functions. 2002-09-21 01:16:59 +00:00
martti
3b553bac54 Added (commented out) IPFILTER_DEFAULT_BLOCK. 2002-09-20 10:39:48 +00:00
lukem
3ea2e21f82 enable USERCONF by default; it's small and extremely useful to have available. 2002-09-18 02:43:53 +00:00
chs
c76a265365 add the options for all the FirePower models.
add the "openfirm" device, since we're got openfirmware.
2002-09-18 01:55:02 +00:00
chs
c0b553502c build ofwboot as an ELF binary. 2002-09-18 01:45:49 +00:00
chs
cf9ab742f6 fix parsing of pathnames with a partition specifier.
reformat for readability.
2002-09-18 01:45:25 +00:00
chs
b7878de767 add OF_boot(), call it if the user says "reboot".
try loading "netbsd.ofppc" first, to allow sharing root fs.
2002-09-18 01:45:04 +00:00
chs
0464f50aa5 reformat for readability. 2002-09-18 01:44:29 +00:00
chs
b5e02d5677 implement device_register() for ofppc.
use ofcons_cnprobe().
2002-09-18 01:44:12 +00:00
chs
976b0910c4 fix the ofppc interrupt code to work at all. the previous code was
confusing an IPL number with an IRQ mask.  now we do like the x86 code.
2002-09-18 01:43:07 +00:00
chs
2df384b428 fix printf format string. 2002-09-16 02:12:30 +00:00
gehenna
77a6b82b27 Merge the gehenna-devsw branch into the trunk.
This merge changes the device switch tables from static array to
dynamically generated by config(8).

- All device switches is defined as a constant structure in device drivers.

- The new grammer ``device-major'' is introduced to ``files''.

	device-major <prefix> char <num> [block <num>] [<rules>]

- All device major numbers must be listed up in port dependent majors.<arch>
  by using this grammer.

- Added the new naming convention.
  The name of the device switch must be <prefix>_[bc]devsw for auto-generation
  of device switch tables.

- The backward compatibility of loading block/character device
  switch by LKM framework is broken. This is necessary to convert
  from block/character device major to device name in runtime and vice versa.

- The restriction to assign device major by LKM is completely removed.
  We don't need to reserve LKM entries for dynamic loading of device switch.

- In compile time, device major numbers list is packed into the kernel and
  the LKM framework will refer it to assign device major number dynamically.
2002-09-06 13:18:43 +00:00
chs
f65cb7133e mftb() has moved to cpu.h. 2002-08-07 05:20:46 +00:00
briggs
0b956d0b8b Implement pmc(9) -- An interface to hardware performance monitoring
counters.  These counters do not exist on all CPUs, but where they
do exist, can be used for counting events such as dcache misses that
would otherwise be difficult or impossible to instrument by code
inspection or hardware simulation.

pmc(9) is meant to be a general interface.  Initially, the Intel XScale
counters are the only ones supported.
2002-08-07 05:14:47 +00:00
thorpej
3912e469dd Rename cdev_systrace_init() to cdev_clonemisc_init(), so it can
be properly used by any misc. cloning device.  While here, correct
a comment to indicate that "open" is the only entry point and that
everything else is handled with fileops.
2002-07-19 16:38:14 +00:00
chs
ef1115901f put the OF buffer page in the BSS rather than allocate it at runtime.
from PR 14497.
2002-07-14 20:56:12 +00:00
matt
4f983e2982 Common OFW code has been moved to powerpc/mpc6xx/ofw_subr.S. Now use it. 2002-07-09 19:21:03 +00:00
matt
4577742ff6 Use SR 11 as USER_SR. (12 is used as an I/O BAT). 2002-07-07 19:32:49 +00:00
matt
685778b53b Peform a rototill over the powerpc-based ports.
Move the trap/vector initialization for MPC6xx ports to mpc6xx_machdep.c
Also move softnet, install_extintr, mapiodev, kvtop.  Add common BAT
initialization code.

Add user Altivec support.

Fix calls to OF_call_method in macppc/macppc/machdep.c.

Use ci_fpuproc in cpu_info instead of separate fpuproc.

Add separate syscall.c and defined __HAVE_SYSCALL_INTERN.
2002-07-05 18:45:15 +00:00
itojun
73941c5096 avoid hardcoding MBR_MAGICOFF and MBR_MAGIC. 2002-06-18 00:37:25 +00:00
christos
3b50728cf4 MD systrace gluons. 2002-06-17 16:32:57 +00:00
lukem
fde6ae6f04 Enable "pseudo-device clockctl" in all kernels, except
installation related kernels (INSTALL* and RAMDISK*).
This enables rc.conf(5) $ntpd_chroot to be used "out of the box"
2002-06-17 05:14:02 +00:00
thorpej
204183c0fa * Add "pcitag_t *pba_bridgetag" to pci_attach_args. This is set to
NULL for root PCI busses.  For busses behind a bridge, it points to
  a persistent copy of the bridge's pcitag_t.  This can be very useful
  for machine-dependent PCI bus enumeration code.
* Implement a machine-dependent pci_enumerate_bus() for sparc64 which
  uses OFW device nodes to enumerate the bus.  When a PCI bus that is
  behind a bridge is attached, pci_attach_hook() allocates a new PCI
  chipset tag for the new bus and sets it's "curnode" to the OFW node
  of the bridge.  This is used as a starting point when enumerating
  that bus.  Root busses get the OFW node of the host bridge (psycho).
* Garbage-collect "ofpci" and "ofppb" from the sparc64 port.
2002-05-16 01:01:28 +00:00
thorpej
dada8613e1 Let machine-dependent code specify how to enumerate the bus.
Currently, everyone uses pci_enumerate_bus_generic().
2002-05-15 19:23:51 +00:00
matt
bab0fa8919 Remove redundant declarations. 2002-05-13 07:12:21 +00:00
nonaka
f969157ab1 Use powerpc/mpc6xx/genassym.cf 2002-04-25 20:07:39 +00:00
nonaka
bd48cc822b Added PPCDIR 2002-04-25 19:47:52 +00:00
atatat
d1b3852365 Add the INCLUDE_CONFIG_FILE option to all config files. In config
files that are generic (ie, GENERIC, GENERICSBC, GENERIC32, ALL, or
ALPHA), it is uncommented.
2002-04-25 15:06:20 +00:00
kleink
3a03930d13 Add a third argument to pmap_bootstrap() which platform-specific
initialization can use to specify additional segment registers to be set
up in the kernel pmap.
2002-04-23 12:41:04 +00:00
thorpej
eedd94475c * Move the mii_bitbang attribute into dev/mii/files.mii
* Pull in dev/mii/files.mii from conf/files, rather than playing
  the magic "files include order" dance in N machine-dependent
  configuration definitions.
2002-04-16 20:50:16 +00:00
gmcgarry
6e066ba77a Add commented-out USERCONF option. Mainly useful for install media
and can be optionally enabled based on miniroot and ramdisk size
requirements.
2002-04-12 08:10:45 +00:00
chs
bd2a5f591d switch all mpc6xx powerpc ports to NEWPMAP by default.
the old pmap is still available with the OLDPMAP option.
2002-03-09 23:35:56 +00:00
jdolecek
6d265bd894 add options PIPE_SOCKETPAIR to individual kernel configs
the option is commented out on everything but kernels I was able
to recognize as INSTALL-like or ones for small memory machines
2002-01-27 13:23:08 +00:00
oster
39b858e3bf Add new RF_* options for RAIDframe bits that are no longer built by default.
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.
2002-01-19 18:45:06 +00:00
manu
5f90ae55b5 Added clockctl 2002-01-12 14:52:40 +00:00
martin
b506d6e135 Add PPPoE to all generic kernels that should be able to use it.
XXX TODO: do this for INSTALL kernels too, add sysinst support and make the
XXX needed binaries available on the ramdisk root fs.
2001-12-28 12:21:52 +00:00
gmcgarry
bdd225baa1 Add a blurb to the top of all GENERIC files. This serves three purposes:
- to clarify some terminology
- to clarify the intention of the GENERIC file
- to cross-reference some useful man pages
2001-12-14 05:34:45 +00:00
tv
8e6f7afb5b MKfoo=no -> NOfoo 2001-12-12 01:48:43 +00:00
lukem
ecb81c3f6d - convert usage of "defopt" to "defflag" where the relevant option does
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
2001-11-28 10:21:10 +00:00
atatat
2bf2c362fb The bridge(4) pseudo-device no longer requires the port to
__HAVE_GENERIC_SOFT_INTERRUPTS, so add it back to all GENERIC configs.
2001-11-23 05:00:22 +00:00
lukem
03aef4723c cleanup:
options SPACE TAB
	makeoptions TAB
	psuedo-device TAB
	remove trailing whitespace
	replace multiple spaces -> tabs
	options "FOO" -> options FOO
	options "FOO=bar" -> options FOO=bar
	options "FOO=\"bar\"" -> options FOO="\"bar\""
2001-11-20 12:56:17 +00:00
soren
662f877587 MAXSLP is defined to be a machine-independent scheduling parameter,
so move it into sys/param.h.
2001-11-15 18:06:11 +00:00
thorpej
e727e3f180 Split elf32 vs. elf64 handling in loadfile(), including support for
each separately and explicitly.  BOOT_ELF is now BOOT_ELF32 and
BOOT_ELF64, and ELFSIZE should no longer be defined in loadfile_machdep.h.
2001-10-31 17:20:45 +00:00
thorpej
0896046ab3 Attempt at making Type 1 config cycles work, based on "see config-map". 2001-10-30 01:21:24 +00:00
thorpej
ccb78392f1 Check in of work-in-progress of Firepower native device support.
We can find devices in PCI configuration space, but not much else.
2001-10-29 22:28:37 +00:00
thorpej
2d06f95095 Add/rework infrastructure that will allow us to support native
device drivers:
- Various native device entries in cdevsw/bdevsw.
- Rework the interrupt infrastructure to provide more flexibility to
  the platform-dependent back-end.  Rewrite the "ofwgen" simulated
  interrupt routines to reflect the changes.
- Clear out the BAT registers and set the fixed battable entries before
  calling the platform init routine.  The platform init routine is allowed
  to set entries in the battable.
- Don't call the platform cons_init routine until after translation is
  enabled -- we might need translation to work in order to access bus
  space.
2001-10-29 19:04:24 +00:00
thorpej
61438ef172 For System registers which are not 32-bits wide, they are "left justified"
within the 32-bit word.  Add CSR_{READ,WRITE} macros which compensate for
this.
2001-10-29 18:57:15 +00:00
thorpej
b5ae57acc0 Fix a typo, add some UL suffixes to memory map constants. 2001-10-29 04:48:21 +00:00
thorpej
678788904a Memory map and system registers for the Firepower ES, MX, LX, and TX
systems.
2001-10-24 20:36:44 +00:00
thorpej
d213444bc5 Need to install intr.h. 2001-10-24 15:33:17 +00:00
billc
8b2a9cd42c NEWPMAP fixes that I missed committing. 2001-10-24 06:26:10 +00:00
thorpej
d1550cb938 For systems (like the briQ) that don't have a "/cpus", look for
CPUs in the OFW top-level.
2001-10-23 22:52:14 +00:00
thorpej
52b15119b0 Add the correct model string for the Total Impact briQ. 2001-10-23 04:19:34 +00:00
thorpej
42e835d381 Clean up the NetBSD/ofppc boot loader:
- Garbage collect some cruft that doesn't apply to the ofppc port.
- Make our OFW-friendly alloc.c more like the libsa alloc.c
- Generally reduce some differences where we can between this
  boot loader and the NetBSD/macppc boot loader.
- Use libsa's loadfile().
- Fix DDB symbol loading -- Add a magic number after the args string
  so the kernel knows the symbols are there, provide both ssym and
  esym, and make sure all these values are aligned to a 4-byte boundary.
- Add support for MS-DOS file systems.
2001-10-23 03:31:25 +00:00
thorpej
506d233170 Add machine-dependent defns for libsa's loadfile(). 2001-10-23 03:02:03 +00:00
thorpej
718fdfe48f Add support for fetching DDB symbols from the boot loader. This requires
changes to the boot loader (forthcoming).
2001-10-23 01:36:32 +00:00
thorpej
624e16931f Begin the task of splitting up the ofppc port into common code
and platform-specific code, similar to how the Alpha port is
split up.
2001-10-22 23:01:17 +00:00
thorpej
6817ae639c Fetch the platform name earlier, so we can determine what kind of
system we're running on earlier.
2001-10-22 16:44:03 +00:00
thorpej
63a4b630bb CPUs attach to mainbus now. 2001-10-22 14:47:44 +00:00
thorpej
783ea940e5 Various things that make OFW-driver kernels work on my Firepower LX MP
again:
- Special-case the attachment of CPUs, and logically attach them to
  "mainbus", attaching them before any other devices.  Otherwise,
  CPUs would be found very late in the game on my Firepower.
- Sanity check the timebase-frequency property, printing a warning if
  it's not the same on each CPU.
- Pass the correct CPU ID to cpu_attach_subr().
- Fetch the platform name from the OFW root node.  We can key off this
  later when we implement support for native drivers in the ofppc port.
- Use a table of "special" toplevel OFW nodes ... we skip these nodes
  during the device configuration phase.  This generally includes the
  "options", "packages", etc. nodes.  Inspired by sparc & sparc64 ports.
2001-10-22 14:46:08 +00:00
billc
5c078bc6e7 Total Impact BRIQ kernel config 2001-10-20 08:32:24 +00:00
billc
b3a54fcf2e just set MACHINE and include powerpc/param.h - non-NEWPMAP ofppc kernels boot now. 2001-10-20 08:27:12 +00:00
billc
c67bf6b4de Fix cpu check to actually work. 2001-10-20 08:22:58 +00:00
billc
c22d12260d update for NEWPMAP 2001-10-20 08:22:29 +00:00
thorpej
a769f31893 soft_splvm() - "block" SPLBIO, SPLNET, and SPLTTY in addition to SPLIMP
and the soft interrupts.  Probably doesn't matter for an all OFW kernel,
since all devices are polling, but done for correctness.

soft_splsoftnet() - make sure to block softclock, as well.  While
you're in the network code at splsoftnet(), you don't want a soft
clock interrupt tripping some network-related timeout and reentering
the network code.
2001-10-06 03:51:48 +00:00
manu
dea90b1ed2 Linux emulation is no longer experimental, removed comment 2001-09-12 21:05:37 +00:00
chris
0e7661f023 Update pmap_update to now take the updated pmap as an argument.
This will allow improvements to the pmaps so that they can more easily defer expensive operations, eg tlb/cache flush, til the last possible moment.

Currently this is a no-op on most platforms, so they should see no difference.

Reviewed by Jason.
2001-09-10 21:19:08 +00:00
atatat
5f25c01eff Comment out bridge pseudo devices from ports that don't
__HAVE_GENERIC_SOFT_INTERRUPTS.  bridge(4) doesn't compile there.
2001-09-01 23:08:40 +00:00
atatat
97c67a9bae Add bridge pseudo devices to GENERIC configs 2001-09-01 21:52:23 +00:00
matt
550ffff41b Make all powerpc ports use a common Makefile.powerpc (except walnut)
Enforce -Wmissing-prototypes -Wstrict-prototypes for all ppc ports.
Split out macppc cpu support and make common to mpc6xx ports.  Make
other mpc6xx ports use it.  Add evcnts for mpc6xx traps.
2001-08-26 02:47:33 +00:00
chs
ba2c8088f4 use pmap_k* for buffer cache pages. 2001-08-24 04:34:25 +00:00
tsutsui
9e7c918fc2 Avoid NULL pointer dereference. 2001-08-05 11:14:21 +00:00
tsutsui
96ca5eec53 Define VM_MAX_KERNEL_BUF and PAGER_MAP_SIZE to save KVA space. 2001-08-05 06:55:02 +00:00
tsutsui
9651c6a654 Add PM_SR 2001-08-05 05:47:43 +00:00
wiz
3ed1e031ab bcopy -> memcpy, bzero -> memset 2001-07-22 14:43:14 +00:00
abs
01b024cd5b Standardise TCP_COMPAT_42 as commented out, grouped with other COMPAT options,
and with the comment '4.2BSD TCP/IP bug compat. Not recommended'
Add commented out 'TCP_DEBUG # Record last TCP_NDEBUG packets with SO_DEBUG'
(All hail amiga and atari which make some attempt to automate the
multiplicity of config files...)
2001-07-08 16:32:12 +00:00
darcy
ce0ec1e208 Add System V semaphore resource limits to each GENERIC file that has an
option for System V semaphores.  It appears that there are no overrides
in the code and each file has the following added.

 options    SYSVSEM     # System V semaphores
+#options   SEMMNI=10   # number of semaphore identifiers
+#options   SEMMNS=60   # number of semaphores in system
+#options   SEMUME=10   # max number of undo entries per process
+#options   SEMMNU=30   # number of undo structures in system
 options    SYSVSHM     # System V shared memory

If anyone thinks that this is incorrect for any of these files, please
correct it.

Note - the i386 port was not forgotten.  It was done separately.
2001-06-30 11:00:31 +00:00
matt
8a580d3ce9 #include <powerpc/spr.h> 2001-06-23 02:24:20 +00:00
simonb
43eba60849 Make all the ppc delay() functions the same - formating change only, no
code changes.  Step one of a unified ppc clock.c.
2001-06-19 08:34:49 +00:00
christos
0f380fac15 Add an e_trapsignal member to struct emul, so that emulated processes can
send the appropriate signal depending on the trap type.
2001-06-18 02:00:48 +00:00