Commit Graph

29215 Commits

Author SHA1 Message Date
matt 8a49af3cec Need to use a separate variable for return value of pmap_pte_inset in
pte_spill.  Make off the high bit of the MFTB().
2001-11-04 22:39:08 +00:00
matt 3ca8d91fc8 Add few a more PMAP_PVO_CHECKs in pte_spill; print pte addr of unmatched
pte in panicstr.
2001-11-04 21:15:03 +00:00
thorpej fe988b60bb Add PCI window addresses. 2001-11-04 19:32:32 +00:00
tsutsui 882785d057 Cast pa values to u_long in DEBUG printfs for _MIPS_PADDR_T_64BIT ports.
XXX should use unsigned long long format?
2001-11-04 14:07:13 +00:00
tsutsui c143d7c33a Fix printf format in #ifdef DEBUG part. 2001-11-04 14:01:42 +00:00
tsutsui 064be15283 Use common macro to check message length. 2001-11-04 12:03:41 +00:00
itohy 4972418390 Add midi at opl and midi at mpu 2001-11-04 10:27:15 +00:00
yamt 3eadadcb8a add adv@cardbus.
(commented out if ahc@cardbus is commented out.)
2001-11-04 09:00:38 +00:00
itohy e8ba741b16 Add mpu at cmpci and opl at cmpci attachment.
I always test it on alpha, and add cmpci entries to alpha config files.
2001-11-04 07:39:40 +00:00
thorpej c88c2c4852 Don't require the IQ80310 option. Made possible by files.<board>. 2001-11-04 03:01:19 +00:00
thorpej ddb2e9f4cb Don't require INTEGRATOR or INTEGRATOR_FPGA options. Made possible
by files.<board>.
2001-11-04 02:56:13 +00:00
thorpej 9ef485f568 Garbage-collect a bunch of stuff that's not used/needed in
eval board environments.
2001-11-04 02:38:28 +00:00
thorpej b8d49fac16 Move board-specific config definitions into files.<board>, allowing
each board type to have its own device namespace.
2001-11-04 02:20:22 +00:00
thorpej 95a9886f49 Add a comment describing what this file is. 2001-11-04 01:23:49 +00:00
thorpej 8f626436b6 Add missing RCS ID, add missing name. 2001-11-04 01:16:01 +00:00
thorpej 88ff68974a Changes from Martin Husemann and myself:
- Make the 32-bit SPARC profile support work with the GCC 2.95.3
  SPARC ELF compiler, which uses a different name for mcount.
- Make the 64-bit SPARC profile support header look more like the 32-bit
  SPARC header (no functional change -- 64-bit SPARC already used the
  correct mcount name).
2001-11-03 20:24:42 +00:00
tsutsui 1b197161d4 Add iha and trm at pci, and mark untested SCSI controllers "UT". 2001-11-03 17:22:39 +00:00
tsutsui f88a1097c3 Add trm at pci.
BTW, should we also add it into INSTALL?
I guess there is no trm adapter which has Openfirmware..
2001-11-03 17:16:17 +00:00
tsutsui 6707f5f39d Add trm at pci. 2001-11-03 17:08:56 +00:00
yamt 7a6b533ba6 add btinfo stuff. 2001-11-03 12:02:28 +00:00
jdolecek 1a92fabcb3 Don't print any warning if the time base was not provided (i.e. given as zero).
Fixes port-i386/1413 by David Carrel.
2001-11-03 11:16:25 +00:00
yamt 375b263ebc - remove debug printf.
- reset the board in EtherStop.
2001-11-03 09:36:47 +00:00
lukem 3343f31154 explicitly pull in sys/types.h 2001-11-03 06:22:54 +00:00
reinoud 9be624a530 Not used in this port yet but since it is supposed to be a generic machine
dependend loadfile extention i copied it from arch/arm32/include where it
was committed as part of the ofwboot for sharks where Jason is working on.
2001-11-03 02:12:37 +00:00
rearnsha e4fff4a560 Replace most uses of pmap_pde_p with pmap_pde_page, since that is what
we need later in the code.  This fixes a fatal kernel fault in
pmap_modified_emulation if a user application tries to access a kernel
address that is section-mapped.

Add a diagnostic that detects attempts to call pmap_kenter_pa with a
va that is section-mapped.
2001-11-03 00:06:02 +00:00
rearnsha 64c191c269 Define boolean predicates pmap_pde_page, pmap_pde_section & pmap_pde_fpage,
which return true if their pde argument is a coarse page, section or
fine page respectively.
2001-11-03 00:01:23 +00:00
rearnsha 6dcc9636dc Define L1_FPAGE for fine page entries in L1 page table. 2001-11-02 23:58:46 +00:00
thorpej 8526824bce Fix the LOADADDR() macro. 2001-11-02 23:43:13 +00:00
thorpej efe39dc997 The a.out header is at the beginning of the .text segment in
ZMAGIC images, so use the correct constant (KERNEL_TEXT_BASE)
to find it.
2001-11-02 21:51:57 +00:00
thorpej 428018d519 The a.out header is at the beginning of the .text segment in
ZMAGIC images, so use the correct constant (KERNEL_TEXT_BASE)
to find it.
2001-11-02 21:19:10 +00:00
thorpej b563250dbb Couple of changes:
- Set MARK_START to where we expect to be loading the kernel (0xf0100000).
- The ARM OpenFirmare bindings document describes how the client
  program is loaded: OFW allocates and maps 6MB of memory at load-base
  (0xf0000000), loads the client program, and then unmaps the memory from
  the end of the client program to the end of the allocated region.  Then
  transfers control to the client program.  We must emulate this behavior
  to load the kernel: allocate 5MB at 0xf0100000 (where we expect to load
  the kernel), load the kernel, then unmap the area after the kernel.

We can now load DHCP and load the kernel via NFS before getting the
dreaded Data Abort.
2001-11-02 20:24:37 +00:00
thorpej f0be361fce Make this build again with ALLOC_TRACE, and enable freeall(). 2001-11-02 19:58:52 +00:00
lukem cf524d2464 replace __byte_swap_long_variable and __byte_swap_word_variable
#define ({ })  with  static __inline { }
2001-11-02 05:23:48 +00:00
lukem 153d16f7b1 replace __byte_swap_long_variable and __byte_swap_word_variable
#define ({ })  with  static __inline { }
2001-11-02 05:17:59 +00:00
matt 767a35ff99 Indirect labels should start with L 2001-11-02 02:36:57 +00:00
thorpej da9b5f3614 loadfile() support for the Shark. 2001-11-02 01:27:41 +00:00
thorpej 4cbfdf4a51 Correct a kernel name. 2001-11-01 22:55:25 +00:00
thorpej 13d619a803 Check in of work-in-progress ofwboot for the Shark. Starts, does a
DHCP, attempts to load kernel, gets a Data Abort.
2001-11-01 22:50:18 +00:00
rearnsha 87cb8af648 When clearing the modified bit for modified emulation, don't turn
caching on for a page just because we are clearing the writable bit in
the PTE: this is incompatible with the way pmap_vac_me_harder works,
and the code in the modified emulation handler doesn't know about
recalculating the cachable attributes (nor should it, IMO).

Also, if we are invalidating a page, flush its TLB entry; for some
reason we were only doing this when clearing the Write or modified
bits.

These patches together seem to solve the random seg-faults that were
still occuring occasionally under heavy paging.
2001-11-01 15:49:16 +00:00
drochner b4d5b7d621 protect against multiple inclusion 2001-11-01 12:54:35 +00:00
yamt b7574e5c56 add settings for ne2000.
(commented out)
2001-11-01 09:45:03 +00:00
yamt 3492b7a4c6 add ne2000 standalone driver. 2001-11-01 09:37:17 +00:00
chs fa6e18a029 in pmap_extract(), detect unmapped users addresses too. 2001-11-01 07:37:36 +00:00
thorpej 44f1c938e8 Don't actually need elf64 support in installboot(8). 2001-10-31 22:13:03 +00:00
thorpej 66f972ab70 Need byteorder.c for loadfile_elf*.c 2001-10-31 21:39:02 +00:00
jdolecek 159a2b871c use right number of zeroes for Cyrix i386_cpuid_cpus[] entries
reformat the entries with all zeroes to be more easier to verify
2001-10-31 20:35:21 +00:00
jdolecek 6cb3157ebe Add defines for the rest of fasttraps as defined on Solaris8/i386. For
documentation purposes only (though CLOCK_SETTIME a.k.a T_GETHRESTIME
shouldn't be too hard to implement).
2001-10-31 18:20:13 +00:00
jdolecek f3bfeee0d6 Fix one more place where we need to restore %fs/%gs explicitly. 2001-10-31 18:17:56 +00:00
jdolecek 01d4649f9f Make local INTRENTRY, INTRFASTEXIT match those in locore.s, i.e. store &
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.
2001-10-31 18:16:02 +00:00
thorpej d42a6dc5c2 Rather than using a NetBSD-specific header file <machine/int_types.h>
and non-standard inttype-like types, pull in <sys/types.h> if
_KERNEL or _STANDALONE and <inttypes.h> otherwise, and use standard
inttype types.

Discussed with and OK'd by Christos.
2001-10-31 18:05:35 +00:00
bjh21 54edd2d848 Define BOOT_ELF32. Don't define ELFSIZE. 2001-10-31 17:59:38 +00:00
bjh21 82b2265851 Add loadfile_machdep.h, which has been missing since I committed boot26. 2001-10-31 17:58:54 +00:00
thorpej 6d2e0bcbc2 Use <machine/elf_machdep.h> to override Elf64_Word and Elf64_Sword
on the Alpha (which uses a non-standard definitions for historical
reasons), rather than #ifdef __alpha__ (which is not cross-tool safe).
2001-10-31 17:44:42 +00:00
thorpej 6797e85570 Include support for elf64. 2001-10-31 17:21:47 +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
reinoud 88ca038117 Change MACHINE_ARCH to arm making it ELF now. 2001-10-31 02:10:35 +00:00
thorpej 4810d73020 Build the loadfile() a.out, ECOFF, and ELF back-ends as separate
objects.
2001-10-31 01:51:42 +00:00
thorpej 715b4d636e Use the standalone byteorder routines. 2001-10-30 23:39:08 +00:00
thorpej e8ee04475d - Add a new vnode flag VEXECMAP, which indicates that a vnode has
executable mappings.  Stop overloading VTEXT for this purpose (VTEXT
  also has another meaning).
- Rename vn_marktext() to vn_markexec(), and use it when executable
  mappings of a vnode are established.
- In places where we want to set VTEXT, set it in v_flag directly, rather
  than making a function call to do this (it no longer makes sense to
  use a function call, since we no longer overload VTEXT with VEXECMAP's
  meaning).

VEXECMAP suggested by Chuq Silvers.
2001-10-30 15:32:01 +00:00
thorpej 380b5498e9 Make sure to load/store bbinfo values as big-endian. 2001-10-30 05:52:30 +00:00
thorpej f16413a699 Rather than using nlist(3), use a magic structure with a magic
number that installboot(8) can search for.  Suggested by cgd@netbsd.org.
2001-10-30 05:13:09 +00:00
lukem f4e04ac768 merge in changes from GENERIC revs 1.400 ... 1.432:
- add MTRR
- comment out DIAGNOSTIC
- add commented out SEM{MNI,MNS,UME,MNU} COMPAT_MACH EXEC_MACHO
- comment out EISA stuff
- add commented out MCA stuff
- add audio devices: esl, emuxki, yds
- add pseudo-device bridge
2001-10-30 01:39:15 +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 6fd8d278ed pci_conf_interrupt() takes bus/dev/pin, not bus/dev/func. 2001-10-29 23:33:42 +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
matt 3a74f9105b root finds ofbus, not ofroot (just like the shark/dnard) 2001-10-29 17:32:57 +00:00
matt 40296b7cc8 Use Lirqhandler (same bug/fix as in the footbridge_irq.S) 2001-10-29 17:30:26 +00:00
rearnsha 05885de5fc Garbage collect some early debug hacks that should not have been
committed in the first place and prevent linking.
2001-10-29 14:23:35 +00:00
thorpej b5ae57acc0 Fix a typo, add some UL suffixes to memory map constants. 2001-10-29 04:48:21 +00:00
simonb 163e969b09 Include bit definitions for the Debug Status Register; from Artem Belevich
at Riverstone Networks.
2001-10-29 02:02:19 +00:00
simonb 545af90346 Don't return at the end of a void function. 2001-10-29 02:00:01 +00:00
simonb f7144c4462 G/C unused enable_intr and disable_intr functions. Fix a whitespace nit. 2001-10-29 01:57:49 +00:00
simonb 46cb54843c Whitespace nit. 2001-10-29 01:53:59 +00:00
simonb 5f47f77815 Use wrteei to enable interrupts.
From Artem Belevich at Riverstone Networks.
2001-10-29 01:52:09 +00:00
simonb 6596d92841 Use the Walnut FPGA register offsets instead if the i8042 offsets for
the keyboard/mouse command and data ports (whee! they probe now), and
set up keyboard & mouse interrupts (untested for now).
2001-10-29 01:42:11 +00:00
simonb 90a347de11 If a pckbc is configured in, configure the FPGA so that separate
interrupts are used for the keyboard and mouse, interrupts are high
and level triggered (and enabled).
2001-10-29 01:37:29 +00:00
simonb cc4d8c1285 Set up irq16 (FPGA interrupt) and irq17 (SMI interrupt) for the keyboard
and mouse.
2001-10-29 01:32:59 +00:00
simonb ad762e99bf Expose (and augment) the FPGA registers, and add the static RAM address
and size.
2001-10-29 01:31:11 +00:00
manu 6d572de955 Added character devices #60 and #61 to chrtoblktbl[]. They were missing,
and it introduced problems (EBUSY error when opening the driver for
writing in securelevel >= 1, plus manipulating some unitialized data at
the end of chrtoblktbl[])
2001-10-28 17:11:56 +00:00
jdolecek a1a864c05e add missing dot to copyright message 2001-10-28 16:23:56 +00:00
jdolecek 86f5984fd6 Add "Pentium III (Tualatin)" entry to CPUVENDOR_INTEL/CPUCLASS_686.
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.
2001-10-28 16:17:05 +00:00
isaki 12707fe416 fix typo s/X86K/X68K/ in comment. 2001-10-28 07:05:51 +00:00
christos 19c695e204 fix assembler warnings 2001-10-28 01:38:52 +00:00
he 90d849dc54 Pull down revision 1.24.4.1 from the netbsd-1-5 branch:
Make sure that an unlabeled device gets at least RAW_PART
in the default in-core disklabel, instead of only a single
partition, so that applying a new disklabel can work normally.
2001-10-27 18:32:35 +00:00
jdolecek 1d592578e5 make compile with VM86 defined 2001-10-27 18:27:06 +00:00
darrenr b6e4899865 fix so it compiles on a system without 'options SUN4M' 2001-10-27 17:44:18 +00:00
rearnsha 839525d027 When creating section maps, use pte_cache_mode for setting the
page attributes of cacheable pages.
2001-10-27 16:51:44 +00:00
rearnsha b044d8f60c Add a couple more diagnostics. 2001-10-27 16:48:50 +00:00
rearnsha e185c586c3 Export pte_cache_mode. Define PT_CACHEABLE in terms of it. 2001-10-27 16:45:35 +00:00
rearnsha 3fd2995a76 Declare the plcom device. 2001-10-27 16:42:37 +00:00
rearnsha 9a322ae54f Set initial spl level to SPL_SERIAL, which for some strange reason
is higher than SPL_HIGH (maybe we should be fixing SPL_HIGH).

If IPL_STATCLOCK is defined, initialize spl_masks[_SPL_STATCLOCK] from
it; otherwise initialize use IPL_CLOCK.
2001-10-27 16:41:00 +00:00
rearnsha 85123cf6bf Add new spl level -- _SPL_STATCLOCK. 2001-10-27 16:37:24 +00:00
rearnsha 8a92dcdaa8 Pull in machine/conf.h to find out if we have the plcom serial driver.
If so, then call plcomsoft when appropriate.
2001-10-27 16:34:12 +00:00
rearnsha 4487810503 Add the IFPGA console device. 2001-10-27 16:29:23 +00:00
rearnsha 4aeabfe53e Build tags files for the evbarm subtree. 2001-10-27 16:23:05 +00:00
rearnsha 19cf921b2c Support for the PrimeCell PL010 UART. Similar in behaviour to
the normal com driver, but with competely different bit and register
assignments.
2001-10-27 16:22:06 +00:00
rearnsha 27bfd8adf2 Register definitions for the v360 PCI-localbus bridge, as used
on the Integrator/AP.
2001-10-27 16:20:29 +00:00
rearnsha 00a19aff1d Support for the Integrator/AP core-logic FPGA. 2001-10-27 16:19:08 +00:00
rearnsha 65f54d13cc Basic support for the Integrator/AP board. 2001-10-27 16:17:51 +00:00
rearnsha e882c399b9 Add SCSI PCI and support for the integrator console. 2001-10-27 16:15:50 +00:00
rearnsha b7203fd4cb Configuration for Integrator boards. 2001-10-27 16:14:44 +00:00
rearnsha 682379120f Integrator boards need a special start-up file to reposition the
kernel image.
2001-10-27 16:14:04 +00:00
rearnsha 3444679bb4 Define BOARDTYPE in the Makefile so that the target-specific
Makefile fragment (to be added shortly) can DTRT based on the
board we are building a kernel for.
2001-10-27 16:12:33 +00:00
rearnsha dfab106e99 Add Integrator files. 2001-10-27 16:10:12 +00:00
rearnsha cd6b6b2576 Pick up arm/psl.h if not NEWINTR. 2001-10-27 16:08:16 +00:00
rearnsha 5431825a48 Add code to support machines that don't use NEWINTR. 2001-10-27 16:07:45 +00:00
rearnsha 267e45bb0f Temporary file, until such time as the integrator is made to
work with NEWINTR.
2001-10-27 16:06:57 +00:00
rearnsha a6fe9fcb48 Include arm/pci_machdep.h. 2001-10-27 16:06:15 +00:00
rearnsha 4d7eb9deff Fix a comment. EV boards don't always use a Footbridge. 2001-10-27 16:05:03 +00:00
jdolecek 5d461f21ee Update freebsd_sigcontext to what FreeBSD currently uses, and save/restore
%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.
2001-10-27 12:26:29 +00:00
shin 4843675231 fix virtual alias problem in pmap_copy_page().
to eliminate virtual alias, source page should also be flushed.
fixes PR/13587.
2001-10-27 05:44:45 +00:00
msaitoh 32b3143333 Fix incorrect kernelmode check in INTRENTRY macro.
Broken INTRENTRY causes CPU reset when sigaltstack is used.
2001-10-27 03:46:19 +00:00
matt c62d330ad1 Netwinder's MACHINE_ARCH is arm, not arm32. 2001-10-26 23:21:31 +00:00
tron 8aa847844a Don't try to probe PCI mode on kernels without PCI support. Patch suppied
by Rob Windsor in PR port-i386/14364.
2001-10-26 17:07:28 +00:00
shin e003f33738 remove " in assignment of ENDIAN.
fixes mipseb link breakage.
2001-10-26 08:25:54 +00:00
jmc 6d536163de Change defaults for kernel compiles. Default all to USETOOLS?=no and have
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.
2001-10-26 06:45:33 +00:00
enami 5bd379b1b2 Fix size of iospace; it's not 2 but 4, since two 16bit wide registers at
offset 0 and 2.
2001-10-26 04:22:25 +00:00
eeh 11f7f986bd Fix bugs in previous. 2001-10-25 23:07:50 +00:00
eeh 5c34145ba7 _LP64 -> EXEC_ELF64 2001-10-25 22:03:38 +00:00
mrg 5f1e48b312 lets play catch up with thorpej.rototiller 2001-10-25 13:28:21 +00:00
kleink 3a3c243c62 Tidy up a little, to be like other ports. 2001-10-25 12:26:18 +00:00
augustss 78ed7b801d If there is no pckbc, but there is a ukbd, try using the latter as console. 2001-10-24 21:05:17 +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
leo 56252d5449 Small changes to the boot system:
- Install boot.atari in both / and /usr/mdec. It looks good to have a
   spare copy soemwhere...
 - Add '/boot.ata' as a last resort bootname.

All per discussion with Simon Burge, Matthew Green and Soren S. Jorvang.
2001-10-24 20:12:57 +00:00
thorpej 163bd42722 Per request of mrg@netbsd.org, use MACHINE_ARCH of "sparc" for 32-bit
sparc64 kernels, thus defaulting to using the 32-bit "sparc" target
toolchain.
2001-10-24 19:12:18 +00:00
thorpej 36703ab375 Clean up the 32-bit vs. 64-bit kernel configuration stuff:
- Put all options necessary to build a 64-bit kernel into std.sparc64-64,
  which can be included after std.sparc64.
- Change the logic used to enable 64-bit kernels.  The kernel Makefile now
  uses an LP64 make variable, and explicitly sets compiler flags and linker
  scripts to generate 32-bit or 64-bit kernels.
2001-10-24 18:49:38 +00:00
soren 3715322bb3 Determine PCI config mode before the ACPI probe; some methods need
to access PCI configuration space early.
2001-10-24 15:53:04 +00:00
thorpej d213444bc5 Need to install intr.h. 2001-10-24 15:33:17 +00:00
bjh21 a9c8e8ab15 We set MACHINE_ARCH to "arm" on arm26 now. 2001-10-24 13:53:24 +00:00
billc 8b2a9cd42c NEWPMAP fixes that I missed committing. 2001-10-24 06:26:10 +00:00
shin 2239512d8c make this compile with -DDEBUG_FIND_PCIC. 2001-10-24 04:09:23 +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 9fd244e195 No need to explictly set MACHINE any more; config(8) does it. 2001-10-23 21:24:18 +00:00
reinoud d3340e7db2 Add a pretty lame LOWMEM configuration ... it has the basic interfaces in it
but lacks the podulebus completely; this might be a good starting point for
small memory machines.

Most stuff is disabled but commenting it for easy adding.
2001-10-23 21:21:59 +00:00
pooka bbee62e254 declare variable used only with BLINK inside #ifdef BLINK to avoid
unused variable warning
2001-10-23 20:59:42 +00:00
thorpej 90a2bc2cf7 For MIPS kernel Makefiles, don't set ENDIAN in std.${MACHINE}. Instead,
explicitly set MACHINE_ARCH to the appropriate thing.  Makefile.mips will
then set all of the internal variables it needs to accordingly.
2001-10-23 20:40:00 +00:00
thorpej 693eff0e2e No need to set MACHINE now that config(8) sets it. 2001-10-23 19:55:56 +00:00
thorpej 9e91d48638 This file only set MACHINE, which is now set by config(8); delete it. 2001-10-23 19:52:49 +00:00
thorpej 2a073cf8d0 Set MACHINE_ARCH explicitly in Makefiles for which it is constant.
Also, since config(8) now explcitly sets MACHINE, there is no need
to do it here in the Makefile.
2001-10-23 19:42:16 +00:00
thorpej ba217c4196 Set MACHINE_ARCH explicitly in Makefiles for which it is constant.
Also, since config(8) now explcitly sets MACHINE, there is no need
to do it here in the Makefile.
2001-10-23 19:26:41 +00:00
thorpej 2c5ebcddfb Use MACHINE, not TARGET_MACHINE. 2001-10-23 18:57:32 +00:00
thorpej a2bf3bc31b Pull in <bsd.own.mk> to get the correct toolchain definitions for
the USE_NEW_TOOLCHAIN case.
2001-10-23 17:32:35 +00:00
rearnsha 4ea0954941 Make sure the compile directory doesn't get purged by cvs updates 2001-10-23 13:35:10 +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 dc1a120d26 ofwr_init(): don't clobber r7 -- early startup code needs it to find
DDB symbols.
2001-10-23 02:59:09 +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
mrg b8aa5aa437 sync with reality:
options BLINK
	options AUDIO_DEBUG
	audiocs at ebus
	audio at audiocs
2001-10-22 16:42:44 +00:00
mrg 35a5f0448e add a note about keeping this file in sync with the sparc64 conf.c. also
add some unused code for the pci bus device.  (hi uwe!)
2001-10-22 16:40:47 +00:00
mrg 195bc7aef4 clean up for fd changes. 2001-10-22 15:19:55 +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
takemura addd2cfb92 Remove junk line, which I inserted in last commit. 2001-10-22 13:44:05 +00:00
mrg da8425b96f clean up ebus:
- kill dead dma code
	- remove icky self->dv_parent casts

audiocs @ ebus doesn't crash anymore, but it doesn't appear to work
yet either...
2001-10-22 08:09:46 +00:00
mrg 8243634795 this has moved to dev/ebus 2001-10-22 08:04:56 +00:00
mrg bf444e34ac kill a dead driver. the floppy driver will be shared with sparc anyway... 2001-10-22 08:03:01 +00:00
mrg 997fe9c917 use <dev/ebus/ebusreg.h> 2001-10-22 08:00:12 +00:00
mrg abcb6203a8 implement `options BLINK' for sparc64 for ebus & sbus. tested on a U2
(sbus) and a U5 (ebus).
2001-10-22 07:31:41 +00:00
mrg f9358dee8b use <dev/ebus/ebusreg.h> 2001-10-22 07:06:20 +00:00
thorpej 458af13ace If we get a secondary CPU on a non-MP kernel, bail out early
and print a message about why.  This prevents the primary CPU's
cpu_info from being scribbled over w/ secondary CPU info.
2001-10-22 01:45:51 +00:00
thorpej 102249430c Use <bsd.own.mk> so that the right thing happens when building a
kernel w/ USE_NEW_TOOLCHAIN.
2001-10-21 21:13:11 +00:00
thorpej 74c571e033 Normalize the sparc64 kernel Makefile. 2001-10-21 19:46:16 +00:00
simonb d7357337e0 Fix typo, noted by Artem Belevich. 2001-10-21 15:09:36 +00:00
bjh21 9eca213216 Since arm26 uses ELF, set MACHINE_ARCH to "arm". 2001-10-21 14:19:34 +00:00
takemura b9f6f9619d - Added auto detection for BCU device no.
- Added clock mask unit register definition.
 - Reset child devices and set clock mask.
2001-10-21 09:38:10 +00:00
isaki 3c63a64cab Change 3 glyphs according to SRAM flags (0xed0059),
when ITELOADFONT ioctl is issued.
2001-10-21 03:46:30 +00:00
bjh21 fccfe9fb92 Don't call Debugger() unless the kernel has DDB. 2001-10-20 22:15:02 +00:00
simonb e1f5fbd944 Fix a tyop in a comment. 2001-10-20 13:47:09 +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 60a9daa74c Get check for CPU type right. 2001-10-20 08:23:49 +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
jmc 51e607ae23 Add nb_progname so this will compile on older NetBSD systems that will be
upgrading to -current via the new toolchain build process eventually.
2001-10-20 06:14:30 +00:00
simonb d9e75e198e Fix typo in mmap hander. 2001-10-20 05:56:35 +00:00
fvdl cbc00e701a Until early last year, the i386 port had 256M of kvm, and the max.
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.
2001-10-20 00:17:47 +00:00
uch ce86c1446b increase maxusers (8->16) 2001-10-19 17:17:19 +00:00
scw f6e6d32172 Use the entry-point returned from the first call to loadfile()
instead of the one from the second call (which has a non-zero
offset included in it).

Fixes port-mvme68k/14292 from Ken Seefried.
2001-10-19 17:09:16 +00:00
shin 003fcedca1 cosmetic change. 2001-10-19 05:47:40 +00:00
bjh21 3506931511 Make sure that PT_STEP is defined for userland, even though we don't
support it in the kernel yet.  If we don't do this, GDB arbitrarily
assumes we wanted it to be 9, which is silly.

In the kernel, leave it undefined so that sys_process.c doesn't
generate code for it.
2001-10-19 00:18:20 +00:00
phil ff3d710817 Sharks run coda just fine. Get it here so it is easy to recompile
a kernel with coda support.
2001-10-19 00:12:24 +00:00
eeh 3def251af0 Disable __PCI_DEV_FUNCORDER since it's now badly borken. 2001-10-18 23:47:16 +00:00
bjh21 4cc9dbf11c When dumping debugging information on a fault, don't disassemble at the PC
if that was where the fault happened.  This should make it possible to
continue after prefetch aborts.
2001-10-18 22:53:39 +00:00
eeh 6272e8b2ef Implement bus_space_mmap(). 2001-10-18 22:25:31 +00:00
bjh21 d3d2d8bdd7 Recognize GDB's default breakpoint instruction (as of GDB 5.0), in addition to
the instruction we used with GDB 4.x.  The new instruction has the advantage
of fitting the pattern that ARM recommend using for instructions that need to
stay undefined.
2001-10-18 21:26:21 +00:00
rearnsha 81fc80144a Add a comment describing the logic implemented by pmap_vac_me_harder. 2001-10-18 18:15:56 +00:00
uch 6d5ecdc1dd add playstation2 port 2001-10-18 17:38:36 +00:00
rearnsha b5a8c6922a On processors that support both write-through and write-back cacheing
(eg ARM920), the mode in which the processor operates is governed by
the use of both the PT_C and PT_B bits:

	PT_C=1,PT_B=1 -> Write-back
	PT_C=1,PT_B=0 -> Write-through

To support this define pte_cache_mode (initialized to PT_C|PT_B) and
use that when enabling cacheing for a page.
2001-10-18 17:06:14 +00:00
rearnsha 7de86d9ccd With a diagnostic kernel, printing out a message each time we fail
to allocate a L1 pt is often enough to bring the system to its knees:
so make the messages PDEBUG(0,...).

However, even with this step having more than a small number of
processes searching for a L1 pt can still be enough to bring the system
down, since they all run at high priority and sleep for very little time,
thus blocking out user code from completing.  So implement an exponential
backoff when waiting for a page table, so that we don't hog the CPU when
memory is scarce.

Tested by running a make of the C compiler with "gnumake -j30" (and plenty
of swap space).
2001-10-18 16:50:30 +00:00
rearnsha d447073383 Fix pmap_vac_me_harder to take into account pages that are mapped
into both kernel and user space.

Fixes port-arm32/13998.
2001-10-18 16:32:40 +00:00
uch 448082e1e0 remove conf.h from install header list. 2001-10-18 15:41:15 +00:00
rearnsha bc8cd3375d Support for ARM9. 2001-10-18 15:19:58 +00:00
rearnsha c14090e8fa Add support calls for ARM9.
Where ARM9, StrongARM and XScale share the same function, rename it
as armv4_XXX.
2001-10-18 14:10:07 +00:00
rearnsha 0dbc5bbfab Add CPU_ARM9 to opt_cputypes.h 2001-10-18 14:03:43 +00:00
uwe bfa2f82c18 Minor cleanup. Garbage-collect unused declaration of comsoft() now
that sparc has generic soft interrupts.  In softnet() - return
immediately if netisr is zero.
2001-10-18 12:32:25 +00:00
rearnsha 520fd8e5d8 Use 'p15' consistently in all mcr and mrc instructions.
Fix warnings in stm/ldm instructions of get_pc_str_offset.
2001-10-18 10:30:34 +00:00
rearnsha 2c48187673 Don't unmap page 0 when preparing to swap out a process. If the pmap
is shared with another process (as can happen if vfork is being used),
then that other process will end up not having a page 0, which is bad
news indeed, since then there is no way back into the kernel.

Found this using a multi-ice box, so they are useful after all!

This seems to fix pr port-arm32/11921 and (possibly) kern/9859.
2001-10-18 09:26:08 +00:00
mhitch b216e63487 Use boot arguments to try to determine the boot device. The OSLoadPartition
string, if present, will override the second argument (which may be the
path/kernel being loaded).  This will provide a way to netboot the kernel
and allow the root device be set to a disk partition.
2001-10-18 02:36:33 +00:00
mhitch 6d6ab09e29 Initial boot device determination code: makebootdev() to parse boot command
line parameters, and device_register() to try to match the boot device.  Works
on a Challenge S (and similar machines), but will need more work for other
SCSI adapters.
2001-10-18 02:25:33 +00:00
mhitch 7c6b1c8da0 We have device_register(). 2001-10-18 02:19:54 +00:00
matt cc06635a2c Use correct SRR1 bit in EXC_PGM|EXC_USER fault to catch a trap. 2001-10-18 01:33:48 +00:00
matt f2ceecb472 In pmap_syncicache, preserve the page offset contained in the supplied
physical address.
2001-10-18 01:03:44 +00:00
reinoud 492b11d134 Added the documentation section of arch/arm32 to not let it dissapear.
Can't say for sure ig the interrupts/majors+minors files are still valid
though.
2001-10-18 00:05:00 +00:00
reinoud e8a24b6100 Forgot these ones... and make notice of the move. 2001-10-17 23:58:34 +00:00
reinoud 9bb6db7a85 Major step in creation of arch/acorn32 : remove acorn RiscPC compatibles
and RC7500 from the old arch/arm32 that is gonna be deleted in its whole
soon.

IMPORTANT for RC7500 ... this also removes all RC7500 support .... its a
big pitty but was virtually unsupported allready for a few years and noone
had one... if someone wants to make RC7500 or decendants support undo this
removal and start from here.
2001-10-17 23:53:29 +00:00
reinoud be3168ab71 Sad point .... remove RC7500 support from the iomd directory in the
arch/arm/iomd/* .... the RC7500 isnt really an iomd/vidc machine but has
different video/audio chip and was kind of hardwired/hacked into the other
chip drivers.
2001-10-17 23:28:19 +00:00
matt 747d79ef47 Workaround "../../../.." 2001-10-17 23:21:44 +00:00
reinoud 163c0895bf Bug fix : due to changes in wscons having a wsmux seems mandatory now to
get it compiled...

added the pseudo-device wsmux 1 to ensure this demand.
2001-10-17 22:54:25 +00:00
thorpej 397a84f51a Fix the semantics of __PCI_DEV_FUNCORDER so that they're actually useful:
If __PCI_DEV_FUNCORDER is defined, don't do the song-and-dance to check if
a device is multi-function; machdep code is going to tell us exactly which
functions to probe.

Note this required changing how pci_func_devorder() works in the
sparc64 PCI machdep code; now the "curnode" is assumed to point
to the bus, rather than some function (typically 0) on the device,
just as pci_bus_devorder() makes that assumption.

All this should allow the PCI code to actually locate the second
HME device on a Sun Netra t1, which is at 3,1 -- previously, the
PCI code would have missed it because there is no device at 3,0.

(Sun deserves a brick to the head for this one -- this seems clearly
out of line with the PCI spec.)
2001-10-17 22:16:41 +00:00
thorpej b8c7d53f1c Fix a typo in a DIAGNOSTIC check. 2001-10-17 18:43:04 +00:00
jdolecek 8507456e91 add emuxki (Creative Labs SBLive!) 2001-10-17 18:41:20 +00:00
chs b5ad35867e fix pmap_changebit() to look for the bit in the page attrs
in addition to any PTEs.
2001-10-17 06:28:16 +00:00
shin b2f579a9a8 add wsmux to build kernel. 2001-10-17 01:34:41 +00:00
shin a125433f3e set & export MACHINE_CPU. 2001-10-17 01:33:47 +00:00
bjh21 5dcc1bbb2d Set the major number of swapdev correctly (it's 0, not 1). This
finally makes pageouts work.
2001-10-16 23:58:29 +00:00
bjh21 07b63ac97a On ELF systems, make intptr_t and uintptr_t long, because Matt says so.
This makes regress/lib/libc/int_fmtio compile.
2001-10-16 20:40:45 +00:00
uch d8c8db85ef R5900 support.
COP0_SYNC
	In R5900 mtc0, tlbr, tlbp, tlbwi, tlbwr must be followed by sync.p.
	if defined MIPS3_5900, COP0_SYNC is defined as sync.p. else nothing.
 IPL_ICU_MASK
	mask interrupt directly ICU instead of SR.IM.
	I've added this feature to support software interrupt for R5900.
	and this option may be useful for platform which has cascaded ICU.
2001-10-16 16:31:32 +00:00
uch 2fa5ea9720 playstation2 port 2001-10-16 15:38:29 +00:00
msaitoh 61b54edfd4 s/BYTE_ORDER/_BYTE_ORDER/g 2001-10-16 02:07:46 +00:00
kleink af6ca36a9c Unify sparc{,64} headers once again; restore 32-bit sparc64 ABI. 2001-10-15 21:32:25 +00:00
mhitch f7a303efc6 Machine-dependent loadfile() support for booting. 2001-10-15 21:01:34 +00:00
kleink a84ae73f33 Unify sparc{,64} headers once again; restore 32-bit sparc64 ABI. 2001-10-15 19:49:16 +00:00
minoura 8b99935fc3 Use newvers_stand.sh to record the version. 2001-10-15 16:23:00 +00:00
minoura 9138cb0511 Prepare to set WARNS=2. 2001-10-15 16:13:39 +00:00
minoura 5239a6291a set current_id properly. 2001-10-15 16:07:20 +00:00
kleink 7dcab228e8 Fix a pasto in the __COMPILER_INT64__-based definition of {u,}intmax_t. 2001-10-14 20:11:11 +00:00
leo 44c167f10d cread.o now comes from libtos.a 2001-10-14 19:47:58 +00:00
leo 09bc53b541 TOS/MiNT needs unistd.h. 2001-10-14 19:47:12 +00:00
leo 0c42421cbe Just use '_bootversion', don't use C_LABEL macros. From RTSL, I found out
that kvm_nlist adds an underscore when the binary format is ELF.
2001-10-14 19:45:53 +00:00
leo d3694f31a7 Change the name of the tertiary boot to /boot.atari. This was a suggestion
from Matthew Green. It would still allow multi-platform boots.
Thus, the second level loader first tries /boot.atari and uses /boot as a
fallback.
2001-10-14 19:43:44 +00:00
bjh21 83d5fd8043 Make the declaration of get_pc_str_offset() into a prototype. 2001-10-14 00:17:26 +00:00
leo 37253bbe6b Add bootxxx 2001-10-13 20:40:43 +00:00
leo 38a9a4d6ff Grr, this file shouldn't have been deleted. I thought I corrected it, in
fact the comments from the commit did not mention it to be deleted, just
'changed'...
2001-10-13 20:26:48 +00:00
leo 75b42ecb12 Bootxx is no longer the last booting stage. It now handles only the
command line options. If NetBSD should be loaded, bootxx tries to load
the raw binary file '/boot' that resides on the same filesystem as the
kernel to be booted. This 3rd level boot is supposed to actually load the
kernel.
2001-10-13 20:22:56 +00:00
leo a9d59a63c5 We need a configurable heap now (that implies we need panic.c too....). 2001-10-13 20:10:02 +00:00
leo 530cee7ec2 3rd level boot 2001-10-13 20:06:57 +00:00
leo dc6d9bae0d Add an address for the 3rd level boot. 2001-10-13 19:55:07 +00:00
leo 95d16475fc Arrange include files section in such a way that we can use this code in
the MiNT and NetBSD/libsa environment.
2001-10-13 19:50:36 +00:00
chs 4c1a2f36f8 fix pmap_changebit() to look for the bit in the page attrs
in addition to any PTEs.  fixes PR 14220.
2001-10-13 18:28:10 +00:00
ichiro 8bf90d96b4 add entry Intersil Mini-PCI(802.11b)
wi* at pci?
2001-10-13 15:06:12 +00:00
bjh21 9202040b70 Treat acorn32 the same as arm32 for the purposes of installing include files.
This is necessary to make the libstdc++ install work with the old toolchain,
since it installs <machine/_G_config.h> into /usr/src/${MACHINE}.  There may
be other dependencies on the Old Way, too.
2001-10-13 14:46:00 +00:00
bjh21 cc037046d6 Don't update referenced/modified bits if a page is entered using
pmap_kenter_pa.  pmap(9) says unmanage mappings don't get referenced/modified
tracking, and this seems to stop me getting a panic while starting up with
root on NFS.
2001-10-13 14:23:31 +00:00
mrg 8b4596288b when comparing bp->val[] against other types, cast the bp->val[] value to
other type.  this avoids sign extension lossage as "val" is (signed) int.
PR#14212.
2001-10-13 08:25:57 +00:00
chs f013b5beb1 fix pmap_changebit() to look for the bit in the page attrs
in addition to any PTEs.  fixes PR 14197.
2001-10-13 06:18:36 +00:00
uwe a291eed4cc Fix SIGNEX macro: sizeof is in bytes, not bits. 2001-10-13 00:41:49 +00:00