Commit Graph

231 Commits

Author SHA1 Message Date
bouyer 4bce909c04 bzero the part of the buffer used to pad the packet to
ETHER_MIN_LEN - ETHER_CRC_LEN.
2003-01-20 14:59:27 +00:00
thorpej 23bc250391 Merge the nathanw_sa branch. 2003-01-17 21:55:23 +00:00
reinoud e2dacd3f22 Small typo and add initialisation for the `bank' counter 2003-01-15 16:29:27 +00:00
reinoud 4a291c5614 Fixup serious loading problems (together with the former commit of start.S)
major code cleanup esp. types used. Also cleanup up a major BUG that for
some odd reason worked :-/ makes me puzzled. It signifies that there might
be copies around in physical space of the DRAM ??? and thus its function
was motherboard dependent? It must have been old cruft from before the
cleanup of the relocation engine.
2003-01-08 16:10:53 +00:00
reinoud 34ce26d1fc From the comment :
/*
 * The size of the code/data to be moved is not `end - rmbase' but
 * `__bss_start__ - rmbase' for the module is loaded into RISC OS
 * based on the filesize where as NetBSD doesn't have to include all
 * the bss space into the file itself. In some odd cases the
 * relocatable module area can be smaller than the module + bss and
 * thus bomb out.
 */
2003-01-08 15:29:09 +00:00
reinoud cb83efc9b8 Fix miscelanious small errors that arose from having non Mb aligned memory
for the videoscreen.
2003-01-06 22:46:36 +00:00
reinoud 7cffe83841 Small fixes that showed up during boot-testing of a Pace DSL4000 running
the RISC OS-STB 4.0.0 version of RISC OS.
2003-01-06 18:22:00 +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
reinoud 3630c2d8c4 Remove loadfile_machdep.h from being installed 2003-01-06 17:00:12 +00:00
reinoud 340ca7145e We have version 3.02 now : just a small fix for bootkernel name guessing. 2003-01-06 02:54:03 +00:00
thorpej 81c6d35e2b Remove obsolete MACHINE_ARCH -> arm32 2003-01-03 02:40:57 +00:00
reinoud c065f11230 Oeps... forgot the versions file 2003-01-02 01:05:35 +00:00
thorpej 5001cdaf1f Use aprint_normal() for cfprint routines. 2003-01-01 00:25:01 +00:00
reinoud 006384eaed In the case there is just one SIMM and one memory bank from the SIMM things
got wrong when no VRAM was there.

Placing the video DRAM in front of the kernel is OK when its 1Mb since the
kernel wants to be on a Mb boundary. Placing the video DRAM in the last
SIMM bank at the front is also OK unless there is just one SIMM and just one
bank; then it got in the way again!

Solution is to put the DRAM at the end of the SIMM instead of the beginning!
This however can result in the non 16 kb alignment of the top of physical
RAM where the temporary L1 page tables are situated. If its not 16 kb aligned
then move the L1 page table address down and down until it is 16 kb aligned.
This memory will be reused later on anyway.

What to do when we really support changing screensizes... see it as a max?
or use a different sceme alltogether? It might not even be a bootloader
problem then allthough its memory is not showing up in the DRAM/VRAM
block counts wich needs to be fixed one day.
2002-12-30 15:54:46 +00:00
reinoud 2f6fe363fa Since we dont support switching screenmodes (yet) we might as well claim
just enough for the screenmemory to be in instead of the maximum of 1Mb.
Small machines like my 8Mb NC get a 700 kb back and thats really noticeable.
2002-12-30 03:30:16 +00:00
reinoud 3e5225eafa If we don't have VRAM then at least account the screensize correctly :) it goes
pretty wierd if it is set wrongly.
2002-12-30 02:19:20 +00:00
reinoud 33ae7765a1 If we nick memory from the DRAM for video then please account it correctly! 2002-12-30 02:05:12 +00:00
reinoud f223d87792 Typo and comments 2002-12-29 22:41:08 +00:00
reinoud 24dac6bf26 The unique machine ID is used in some networking stuff to generate a
unique-ish number, so better add it again!
2002-12-29 00:30:40 +00:00
reinoud bf5fbfa164 Update the NetBSD part for the bootloader change. Mostly the changes in
bootconfig.h needs reflection
2002-12-29 00:02:20 +00:00
reinoud 46dbb0f225 Initial commit of the 3rd generation of bootloaders for the Acorn32
platform. It features far better support for newer architectures and is
fully rewritten in C and compile-able under NetBSD.

Since it shares code with `boot26' for Acorn26 merging the common parts is
likely to be next on the list.
2002-12-28 23:57:36 +00:00
reinoud ca70f10e3b Add the loadfile_machdep.h as needed for native bootloaders 2002-12-28 02:42:13 +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
mrg 603098b9b5 implement separate read/write disk statistics:
- disk_unbusy() gets a new parameter to tell the IO direction.
	- struct disk_sysctl gets 4 new members for read/write bytes/transfers.
	when processing hw.diskstats, add the read&write bytes/transfers for
	the old combined stats to attempt to keep backwards compatibility.

unfortunately, due to multiple bugs, this will cause new kernels and old
vmstat/iostat/systat programs to fail.  however, the next time this is
change it will not fail again.

this is just the kernel portion.
2002-11-01 11:31:50 +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
bsh 7b6639153c make atomic_{set,clear}_bit() inline for arm32 ports, and
add <machine/atomic.h> for them.
2002-10-19 12:22:33 +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
bjh21 a9b87645e0 ANSIfy. Un-__P(). 2002-10-15 20:50:01 +00:00
bjh21 7ee3ff8794 KNF -- this file was making my eyes hurt.
No functional change.
2002-10-15 20:46:12 +00:00
elric 5ab71e20b0 Added commented out cgd(4)s to GENERIC configs. 2002-10-14 18:39:22 +00:00
bjh21 75248cc7a1 It appears that MI code requires ci_cpuid to be the CPU number of the CPU
in question, whereas the ARM code was using it to hold the model
identification.  To fix this, rename:

ci_cpuid -> ci_arm_cpuid
ci_cputype -> ci_arm_cputype (for consistency)
ci_cpurev -> ci_arm_cpurev (ditto)
ci_cpunum -> ci_cpuid

This makes top(1) give correct CPU numbers in its "STATE" column (all 0 for
now).
2002-10-13 12:24:57 +00:00
bjh21 d8fd346734 Remember the location of each CPU's idle PCB in struct cpu_info.
Move allocation of the idle PCB from hydra.c to cpu.c and add some
extra initialisation from cpu_fork().
2002-10-12 21:06:46 +00:00
bjh21 a7385c575f Move curpcb into struct cpu_info in MULTIPROCESSOR kernels. 2002-10-12 12:20:08 +00:00
bjh21 8bd749851d Special locking primitives for use in Hydra kernels. These include a cache
invalidation after every lock to ensure that changes made by other CPUs are
visible.  This has nasty performance implications, but it does allow my
Hydrated Risc PC to run printf() on all its CPUs at once without corrupting
the message buffer.
2002-10-07 23:23:53 +00:00
bjh21 c62984115f Turn curcpu() into a macro.
Rename cpu_info_array to cpu_info and make it public.
Add CPU_FOREACH() and friends.
2002-10-06 18:28:48 +00:00
bjh21 1f17ac8831 Remove footbridge and isadma glue -- these no longer seem to be necessary. 2002-10-06 13:05:39 +00:00
bjh21 682415134d Call cpu_setup() and cpu_attach() from cpu_hydra_hatch().
Also simplify cpu_hydra_attach() somewhat.
2002-10-06 12:37:59 +00:00
bjh21 c775c3e73c Give each CPU a struct cpu_info, and have curcpu() return the right one.
Also have cpu_boot_secondary_processors() un-halt all the slave CPUs, and
have them do something visible when that happens.
2002-10-06 11:34:12 +00:00
bjh21 8e25492f64 Make cpu_number() work. 2002-10-06 10:21:50 +00:00
bjh21 f68de9a752 Use HYDRA_ID_SLAVE_MASK rather than 3.
No need for an infinite loop after we jump out of hydra_hatchcode.
2002-10-06 10:21:10 +00:00
provos 2f7a0aaac8 add SYSTRACE; approved perry. 2002-10-06 02:11:54 +00:00
bjh21 bb6b27b143 Second phase of Hydra attachment: All CPUs are now set up sufficiently that
they can call printf(), which they do before halting.
2002-10-05 23:30:03 +00:00
bjh21 389f612a10 Remove spurious comment. 2002-10-05 23:26:48 +00:00
chs ecdf1b4084 add missing protos, clean up includes. 2002-10-05 17:16:33 +00:00
bjh21 3832819227 Minimal changes to allow a kernel with "options MULTIPROCESSOR" to compile
and boot multi-user on a single-processor machine.  Many of these changes
are wildly inappropriate for actual multi-processor operation, and correcting
this will be my next task.
2002-10-05 13:46:57 +00:00
bjh21 7e6e75483b Don't define DEBUG if it's already defined. 2002-10-04 22:46:29 +00:00
elric d19d268a95 assign majors for raw and cooked cgd's. 2002-10-04 18:28:24 +00:00