Commit Graph

200 Commits

Author SHA1 Message Date
thorpej
063033a023 Since everyone uses clock_subr.c (or should, if they don't currently),
list it in conf/files instead of in every port's files.*.
2003-07-27 01:17:37 +00:00
lukem
1b7326b581 use __KERNEL_RCSID() in a consistent manner 2003-07-14 22:48:19 +00:00
lukem
de043b8788 use __KERNEL_RCSID(0, instead of RCSID( in the kernel 2003-07-14 15:17:13 +00:00
thorpej
452a8fdae2 Rename IPL_IMP -> IPL_VM. 2003-06-16 20:00:56 +00:00
kristerw
2794d56b90 Use __asm instead of asm, to make lint happy. 2003-05-31 00:38:05 +00:00
kristerw
19827361f5 Add some LINTSTUB comments. 2003-05-31 00:36:46 +00:00
kristerw
370fc7eb10 Use __asm instead of asm, to make lint happy. 2003-05-28 21:35:13 +00:00
simonb
9c528c084a Remove definitions for fp,ip,sp,lr,pc. Stops duplicate warnings from
the assembler, identical code generated before and after.
2003-05-20 10:21:29 +00:00
wiz
de87ca793d constant usually has two n. 2003-05-14 12:45:06 +00:00
thorpej
36da248c07 Back out the following chagne:
http://mail-index.netbsd.org/source-changes/2003/05/08/0068.html

There were some side-effects that I didn't anticipate, and fixing them
is proving to be more difficult than I thought, do just eject for now.
Maybe one day we can look at this again.

Fixes PR kern/21517.
2003-05-10 21:10:23 +00:00
thorpej
b77900c3c2 Simplify the way the bounds of the managed kernel virtual address
space is advertised to UVM by making virtual_avail and virtual_end
first-class exported variables by UVM.  Machine-dependent code is
responsible for initializing them before main() is called.  Anything
that steals KVA must adjust these variables accordingly.

This reduces the number of instances of this info from 3 to 1, and
simplifies the pmap(9) interface by removing the pmap_virtual_space()
function call, and removing two arguments from pmap_steal_memory().

This also eliminates some kludges such as having to burn kernel_map
entries on space used by the kernel and stolen KVA.

This also eliminates use of VM_{MIN,MAX}_KERNEL_ADDRESS from MI code,
this giving MD code greater flexibility over the bounds of the managed
kernel virtual address space if a given port's specific platforms can
vary in this regard (this is especially true of the evb* ports).
2003-05-08 18:13:12 +00:00
bjh21
384447456c Rename Locore.c to cpuswitch.c. The only thing it contained was cpu_switch()
and its children, and the old name caused problems when building on case-
insensitive file systems.  Should fix PR 21468 by John Gordon.
2003-05-05 22:43:38 +00:00
thorpej
cdb561065e Remove some dead code from db_machine_init(). 2003-05-03 17:37:05 +00:00
he
fd62acf652 Now that db_validate_address() is defined as external in
<arm/db_machdep.h>, don't declare it as "static" here.
2003-05-03 08:16:09 +00:00
ragge
1989d659bb Preserve the symbol table in the LKM || KSYMS cases also. 2003-04-27 10:42:48 +00:00
ragge
d8c8fa8111 Add pseudo-device ksyms. 2003-04-26 14:10:04 +00:00
ragge
69a66687f8 Call ksyms_init() instead of ddb_init() in case of
NKSYMS || defined(DDB) || defined(LKM)
2003-04-26 11:05:05 +00:00
ragge
766d04f56a Add ksyms device major. 2003-04-25 21:10:46 +00:00
bjh21
610cdc7b39 Create a symlink to sys/arch/arm/include alongside the one to
sys/arch/${MACHINE}/include.
2003-04-20 14:37:59 +00:00
thorpej
52d8769e0b Use PAGE_SIZE rather than NBPG. 2003-04-01 02:01:43 +00:00
thorpej
e48b2dc368 Make PAGE_SIZE a constant on acorn26. 2003-03-31 21:30:56 +00:00
thorpej
a8b54dc6f5 Use <arm/proc.h>. 2003-03-31 19:53:25 +00:00
perseant
eab869e1c0 Make BRIDGE_IPF an option, and document it. Add it (commented) to GENERIC.
Let brconfig tell whether the bridge is using the ipfilter hook, or not.
2003-02-27 19:22:36 +00:00
jdolecek
968312910e fix pastos in previous change 2003-01-18 13:29:25 +00:00
thorpej
23bc250391 Merge the nathanw_sa branch. 2003-01-17 21:55:23 +00:00
bouyer
bcae687139 Zero out the NIC memory when padding packet to ETHER_MIN_LEN-ETHER_CRC_LEN
sc->write_mbuf now return len of buffer, including padding.
Tested with a PCI ne2000.
2003-01-15 22:20:03 +00:00
thorpej
21c24b2090 Use the MI setrunqueue()/remrunqueue(). 2003-01-08 00:00:03 +00:00
wiz
1035faff1d writable, not writeable. 2003-01-06 20:30:28 +00:00
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
a7f53c4d06 Use aprint_normal() for cfprint routines. 2003-01-01 00:34:05 +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
lukem
0635de35a3 Remove KDIR=, since SYS_INCLUDE=symlinks and KDIR are not supported any more. 2002-11-26 23:30:07 +00:00
wiz
e78e668887 Fix typo (responsiness -> responsiveness). 2002-11-22 12:20:58 +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
jdolecek
e0cc03a09b merge kqueue branch into -current
kqueue provides a stateful and efficient event notification framework
currently supported events include socket, file, directory, fifo,
pipe, tty and device changes, and monitoring of processes and signals

kqueue is supported by all writable filesystems in NetBSD tree
(with exception of Coda) and all device drivers supporting poll(2)

based on work done by Jonathan Lemon for FreeBSD
initial NetBSD port done by Luke Mewburn and Jason Thorpe
2002-10-23 09:10:23 +00:00
junyoung
7e4d58b1b8 Move NEW_BUFQ_STRATEGY to misc options section. 2002-10-19 05:55:09 +00:00
junyoung
e4b7588c28 Add NEW_BUFQ_STRATEGY (disabled by default). 2002-10-18 15:11:08 +00:00
elric
5ab71e20b0 Added commented out cgd(4)s to GENERIC configs. 2002-10-14 18:39:22 +00:00
thorpej
7bbf61fd89 Add support for restartable atomic sequences on 26-bit ARM. Compile
tested only.

Now that all ARM systems have RAS, move __HAVE_RAS from arm/arm32/types.h
to arm/types.h.
2002-10-07 02:48:38 +00:00
provos
2f7a0aaac8 add SYSTRACE; approved perry. 2002-10-06 02:11:54 +00:00
chs
ecdf1b4084 add missing protos, clean up includes. 2002-10-05 17:16:33 +00:00
elric
d19d268a95 assign majors for raw and cooked cgd's. 2002-10-04 18:28:24 +00:00
thorpej
4cac257e08 More script-o fixes. 2002-10-02 03:25:46 +00:00
thorpej
9b3343e917 Fix script-o in last. 2002-10-02 03:18:07 +00:00
thorpej
5a9ddc1422 Use CFATTACH_DECL(). 2002-10-02 02:21:20 +00:00
thorpej
9a711d6985 Declare all cfattach structures const. 2002-09-27 20:29:02 +00:00
thorpej
6c88de3b53 Introduce a new routine, config_match(), which invokes the
cfattach->ca_match function in behalf of the caller.  Use it
rather than invoking cfattach->ca_match directly.
2002-09-27 03:17:40 +00:00
thorpej
d1ad2ac4f2 Rather than referencing the cfdriver directly in the cfdata entries,
instead use a string naming the driver.  The cfdriver is then looked
up in a list which is built at run-time.
2002-09-27 02:24:06 +00:00
simonb
63096043b3 Use "#define\t" instead of "#define ". 2002-09-22 08:30:56 +00:00
chs
c081614ea2 it really helps to get the stub right before cutting + pasting it 27 times.
alas, I did not.  doh.
2002-09-22 07:53:39 +00:00
chs
55e1f79335 add pmap_remove_all() hook (empty on most platforms so far). 2002-09-22 07:17:08 +00:00
gmcgarry
45d41256f3 Update for cpu_switch() prototype change. No functional change. 2002-09-22 05:40:35 +00:00
gmcgarry
dca80f08fd Add __HAVE_MD_RUNQUEUE flag for MD code to override MI run queue primitives. 2002-09-22 04:11:32 +00:00
abs
65aee44fd2 We are so tight for memory here we cannot afford USERCONF. 2002-09-18 11:29:42 +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
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
thorpej
139cdc3125 Make nbuf, nswbuf, and bufpages unsigned. Make all operations on these
variables unsigned, and update places where their values are printed.
2002-08-25 20:21:33 +00:00
bjh21
47226343a9 Be consistent about the type of idle(). 2002-08-17 00:01:23 +00:00
bjh21
72f31d9112 If we're treating the MEMC as a TLB, there's no need to completely reload
it in pmap_activate().  Instead, let's leave it empty and let pages be
faulted into it on demand.  This improves the context switch latency
somewhat, at least for small processes.
2002-08-16 22:51:43 +00:00
bjh21
4d7743ff17 According to Chuck Silvers, pmap_copy_page() and pmap_zero_page() don't
need to mess with the referenced and modified flags, since they're only
called when a page is being initialised, and is about to have them cleared.
Make this so.
2002-08-16 21:16:48 +00:00
bjh21
596763b7de The only caller of fuswintr() and suswintr(), addupc_intr(), can handle their
returning -1, so have them always do that rather than panicking.
2002-08-12 14:20:44 +00:00
bjh21
206c97ccc2 Move the arm32 copystr.S from arch/arm/arm32 to arch/arm/arm and add support
for 26-bit modes (basically saving R14 when we might get a page fault).
Use it on all ARM architectures now.
2002-08-11 23:17:24 +00:00
bjh21
b6228a7d06 New, improved version of copyin(), copyout(), and kcopy() by Allen Briggs.
This version works on both 26-bit and 32-bit machines.  For large copies,
it's up to three times as fast as the old arm32 version and five times as
fast as the old arm26 version.  For small copies it seems to be even faster
(getrusage() is apparently over ten times faster on an ARM610).

Hooray for Allen!
2002-08-11 21:19:12 +00:00
bjh21
cf963eaeb7 Add a curpcb variable, since the new bcopyinout.S will need one. 2002-08-11 20:50:39 +00:00
bjh21
947a208541 Disable IRQs and FIQs when rebooting. 2002-08-11 20:45:10 +00:00
bjh21
bd0fd7fdb4 BUFPAGES=2 seems to be the practical minimum. 2002-08-11 20:43:51 +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
abs
7be2718ed4 Use MALLOC_NOINLINE (saves 11K on FOURMEG) 2002-07-05 13:06:45 +00:00
junyoung
3d826105dc alloc_attr -> allocattr
Approved by Matthias Drochner.
2002-07-04 14:37:10 +00:00
jdolecek
afb66555e4 make vectors.o explicitly depend on assym.h, so that 'make depend' step
is optional
2002-06-24 07:15:24 +00:00
thorpej
43e7ad972b Garbage-collect sigframe references. 2002-06-23 00:16:59 +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
bjh21
ae07cdce27 Change the entry pointer of the module from an offset to a branch instruction.
This allows us to *Load boot26 at 0x8000 and then use *Go to run it.
This might be useful because we can't currently set the RISC OS filetype
for files on CDs, so they all end up being 0xffd (Data), and *RMLoad only
works for files of type 0xffa (Module), so we need some other way of loading
boot26.
2002-06-13 22:30:22 +00:00
bjh21
b9af29fd4f Increase HIMEM to allow enough space for zlib's tables and 16 MB's worth of
page tables, so we can boot gzip'ed kernels on 16 MB machines.
2002-06-13 22:01:44 +00:00
bjh21
40d80d8c16 Add support for LIBSA_NO_FS_CLOSE, LIBSA_NO_FS_WRITE, LIBSA_NO_FS_SEEK and
LIBSA_NO_TWIDDLE.
LIBSA_NO_FS_SYMLINK is irrelevant here, and LIBSA_FS_SINGLECOMPONENT would
be pointless.
2002-05-28 14:38:55 +00:00
bjh21
1d76b4db4b 1.4: get_page() abstracted. 2002-05-27 20:18:56 +00:00
bjh21
c489f6804b Add a function, get_page(), whose job is to find which logical page should
be used to load a given physical page.  At the moment, this just returns
the page's current logical mapping, but in future it might handle returning
bounce pages for physical pages which are in use, and copying to the correct
page just before loading the kernel.
2002-05-27 20:17:11 +00:00
bjh21
205186731b Substantial overhaul of podule IDs. Unlike on PCI or USB, podule IDs are
assigned by RISCOS Ltd (and were assigned by Acorn) to be unique across all
manufacturers.  This means that associating each one with a manufacturer (and
checking the manufacturer when attaching) is bogus.  Thus, we don't do that
any more.

This should have the pleasant side-effect of getting APDL IDE interfaces
working, since they're just ICS ones with a different manufacturer ID.
2002-05-22 22:43:13 +00:00
bjh21
6d59ad5ec5 Add podule_readcmos(), for getting the CMOS configuration for a podule.
Only implemented on acorn26 for now, but the acorn32 implementation should
be pretty much identical.
2002-05-22 22:13:12 +00:00
matt
0a6d35b7ed Nuke local extern label_t *db_recover; it's now in <ddb/db_extern.h> 2002-05-13 20:30:07 +00:00
bjh21
caff9d0e7e Change the various targets to look more like their libsa counterparts.
I think this'll help on read-only source trees.
2002-05-05 10:02:17 +00:00
bjh21
505c2b63d1 Re-arrange "machine" magic so it's in the same place as on i386. This seems
to help things happen in the right order (I smell a missing dependency).
2002-05-05 10:01:26 +00:00
bjh21
228c4dd3c6 Replace the "machine" logic with something stolen from
i386/stand/Makefile.booters.  This might make builds with a read-only
source tree happier.
2002-05-04 12:25:00 +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
bjh21
a533ffac94 Add a configuration for an installation ramdisk kernel. 2002-04-24 19:50:25 +00:00
augustss
7f7ab48604 Rename the audio "bus" attribute audiobus to avoid confusion with audio
device.
2002-04-22 09:41:19 +00:00
thorpej
32a0860797 Centralize ARM CPU configuration information by adding a new header
file, <arm/cpuconf.h>, which pulls in "opt_cputypes.h" and then defines
the following:
* CPU_NTYPES -- now many CPU types are configured into the kernel.  What
  you really want to know is "== 1" or "> 1".
* Defines ARM_ARCH_2, ARM_ARCH_3, ARM_ARCH_4, ARM_ARCH_5, depending
  on which ARM architecture versions are configured (based on CPU_*
  options).  Also defines ARM_NARCH to determins how many architecture
  versions are configured.
* Defines ARM_MMU_MEMC, ARM_MMU_GENERIC, ARM_MMU_XSCALE depending on
  which classes of ARM MMUs are configured into the kernel, and ARM_NMMUS
  to determine how many MMU classes are configured.

Remove the needless inclusion of "opt_cputypes.h" in several places.
Convert remaining users to <arm/cpuconf.h>.
2002-04-12 18:50:29 +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
bjh21
ee7cd026e8 This script has no excuse for ever failing: set -e 2002-04-02 13:17:41 +00:00
bjh21
9597ab134f Add a missing closing quotation mark. NetBSD's /bin/sh coped fine without
it, but bash (rightly) complained.
2002-04-02 13:14:43 +00:00
lukem
d213d804f7 Rename MEMORY_DISK_SIZE (formerly MINIROOTSIZE) to MEMORY_DISK_ROOT_SIZE,
which was suggested by Izumi Tsutsui <tsutsui@ceres.dti.ne.jp> as
being more consistent with what it's controlling...
2002-04-02 05:30:34 +00:00
bjh21
539b5e0d4b ARM32_{SYNC_ICACHE,DRAIN_WRITEBUF} -> ARM_{SYNC_ICACHE,DRAIN_WRITEBUF} 2002-04-01 17:43:10 +00:00
bjh21
71538f12fd ... and change the directory name as well. 2002-03-29 19:15:17 +00:00
bjh21
eefe8e924e std.arm26 -> std.acorn26 2002-03-29 19:13:39 +00:00
bjh21
67a2b59b9c Remove all my pointless "This file is part of NetBSD/arm26" comments, since
that's easier than correcting them.
2002-03-24 23:37:42 +00:00
bjh21
f1f30eb04d Fix include directories. 2002-03-24 23:17:36 +00:00
bjh21
83ecfb19eb Fix include directory. 2002-03-24 23:17:00 +00:00
bjh21
1de4f40a8a Rename NetBSD/arm26 to NetBSD/acorn26, so that the two Acorn/ARM ports have
matching names.  This commit might include some private hacks that have been
lurking in my tree a while.  They're all harmless, and this reduces the number
of gratuitous diffs I have to deal with.
2002-03-24 15:45:29 +00:00