Commit Graph

29279 Commits

Author SHA1 Message Date
thorpej 393b381a6d PCI interrupt mapping support for the IQ80310. 2001-11-09 20:58:57 +00:00
scw 45e7238a02 Bump the version numbers of all bootloaders which use loadfile_elfXX() now
that it tries hard to avoid backwards seeks.
2001-11-09 19:53:11 +00:00
thorpej d32191e3da Add support for configuring the PCI bus (starting with the Secondary
bus only, for now).

XXX Some cleanup wrt. pci_conf_interrupt() needs to happen.
2001-11-09 19:48:35 +00:00
thorpej b1ec255377 Add a "firstbus" argument to pci_configure_bus(), indicating the
first bus number to use, rather than always assuming that we should
start at bus #0.
2001-11-09 19:29:12 +00:00
thorpej 671a1b111f Print the fault PC for non-USR Prefetch Aborts. 2001-11-09 19:04:23 +00:00
scw 439d3ea3cb G/C some debug printfs inadvertently left in the last commit. 2001-11-09 18:27:59 +00:00
scw 2f42a5932e Implement just enough of an lseek() to keep loadfile_elf32() happy.
While I'm here, bump RAWFS_BSIZE up to 8192 since the installation
instructions use "bs=8k oconv=sync". My Archive Viper now streams
nicely while booting.
2001-11-09 18:25:11 +00:00
scw dca93f1b48 The success/failure status for some Bug syscalls is indicated by the Z
flag in the status register, not by a value on the stack.

How this ever worked for so long is beyond me...
2001-11-09 18:18:19 +00:00
thorpej 82c11eec1c Clear the Master Abort after reading config space for a non-existent
PCI device.  Disable debugging messages, as PCI config space works now.
2001-11-09 18:04:10 +00:00
thorpej 42a10f6cd4 Implement a badaddr_read() routine which performs a load of the
specified size for the caller, and returns true or false indicating
whether or not a Data Abort occurred (i.e. the address was "bad").
2001-11-09 17:58:00 +00:00
thorpej d16c00cfb2 Disable the ATU interrupt sources (i.e. interrupts that occur when
we get Master or Target aborts).
2001-11-09 17:44:43 +00:00
thorpej 10392361f8 Make the DDB trace output a lot easier to look at. 2001-11-09 16:49:29 +00:00
thorpej 13aa19d0fc Eval boards usually don't have boot loaders. If we're lucky, we
have firmware that understands ELF.  We're usually stuck with S-Records.
To make life easier, attempt to stuff kernel symbols into the image
with dbsym(8).

If the kernel doesn't have SYMTAB_SPACE, or if the SYMTAB_SPACE is too
small, the kernel build continues as normal; this is just a convenience
measure.
2001-11-09 07:39:25 +00:00
thorpej 147b1bdc1c Add some rudimentary support for ELF symbols in DDB on the ARM ports.
On platforms which load the kernel sans symbols directly from firmware
(possibly in e.g. S-Record format), call ddb_init() with empty arguments,
so that it will search any compiled in SYMTAB_SPACE.  On all other platforms,
if __ELF__, also call ddb_init() with empty arguments until ELF bootloaders
which pass symbol information are ready.
2001-11-09 07:21:37 +00:00
thorpej 47514a31be Remove unneeded declarations of the db_machine_init() function. The
ARM ports are the only ones that actually have one, and it is about
to change.
2001-11-09 06:52:23 +00:00
matt e85e9a59a1 Make this compile under ELF. 2001-11-09 05:31:44 +00:00
thorpej b72e770a8a IQ80310-specific setup for the i80312 Companion I/O chip driver. 2001-11-09 03:31:37 +00:00
thorpej 660b98b7dc Snapshot of work-in-progress for Intel i80312 Companion I/O chip;
just basic Inbound and Outbound window setup is done, PCI configuration
space access (not quite working yet), and I/O and Memory space routines
so far.
2001-11-09 03:27:51 +00:00
simonb 0000c94242 Delete "break"s and "return"s after the math_abort() macro, which itself
finishes with a "return".
2001-11-09 00:38:57 +00:00
thorpej 3130a93ac8 Remove unnecessary prototypes for zero_page_read{only,write}(). 2001-11-09 00:34:34 +00:00
eeh d0f2652711 Overhaul the interrupt system to use hardware interrupts directly. 2001-11-08 23:28:13 +00:00
scw 61fd713a11 Commit a change I've had lying around for a while: Initialise wired
PTEs with `PG_U' to avoid them being needlessly updated when first
accessed.
2001-11-08 21:53:44 +00:00
scw 05c8b8d35b Fix a couple of uninitialised variable warnings with New Toolchain. 2001-11-08 21:41:42 +00:00
scw a1cf047679 Fix a couple of uninitialised variable warning with New Toolchain. 2001-11-08 21:40:25 +00:00
reinoud a822070813 Note the addition of arch/acorn32 as Acorn's line of ARM 6,7,SA machines. 2001-11-08 16:47:51 +00:00
gmcgarry 2cd41580a7 Make install observe ${INSTPRIV} 2001-11-08 07:45:25 +00:00
gmcgarry 12b20b6dde Use crufty old clock-handling code for now. 2001-11-08 07:01:33 +00:00
gmcgarry f410d2f08f Implement bus_space_vaddr() 2001-11-08 06:32:02 +00:00
gmcgarry 3fe33b077f Reserve for wscons. 2001-11-08 06:27:45 +00:00
thorpej 64d042b3b3 Correct a comment. 2001-11-08 04:18:46 +00:00
thorpej 05dfd6cada * Define fixed virtual addresses for the Primary and Secondary
PCI I/O spaces, as well as the i80312 PMMRs.  Map these regions
  in early bootstrap along with the on-board device address space.
* Adjust call to i80312_sdram_bounds() for the new way the PMMRs
  are defined in i80312reg.h
* Word around some serious braindamage in RedBoot -- RedBoot uses
  the on-board Ethernet to TFTP the kernel image.  However, it does
  not stop the Ethernet before transferring control to the loaded
  program.  This means that if it happens to receive another packet
  (broadcast/multicast/unicast), it will happily scribble over the
  memory of the new running program.  Work around this problem by
  performing a secondary-bus-reset on the i80312's PPB.  XXX This
  could be problematic if we ever encounter an application where
  the i80312's PPB is actually used as a passthrough PPB.
2001-11-08 03:28:53 +00:00
thorpej 64f23a2423 Adjust the way the PMMRs are defined -- offsets from a base, not
absolutes.  Also, add PPB and more ATU registers.
2001-11-08 03:20:36 +00:00
thorpej f30c8426f2 Fix delay(). 2001-11-08 02:12:05 +00:00
christos c7be54ce17 increase the size up to the max for the floppy. 2001-11-08 02:11:38 +00:00
aymeric 77dd4deaa6 introduce an interrupt_depth variable which counts how nested we are into
interrupts.
This allows hardclock() to account for the time spent in interrrupts, and
as a side-effect, top(1), systat(1) and others will no more report 0% of
interrupt activity.

mvme68k does that already.
2001-11-07 23:25:03 +00:00
bjh21 a2d0fc8a64 Small debugging improvements. 2001-11-07 19:53:19 +00:00
bjh21 c11b878473 Detect overruns before reading any data. This makes overruns easier to
understand.
2001-11-07 19:52:59 +00:00
bjh21 67feec8608 Lose options GATEWAY. 2001-11-07 19:45:48 +00:00
yamt 4475186a1d correct comment. 2001-11-07 10:52:08 +00:00
yamt 5fa0dfa754 use biosdelay instead of adhoc loop. 2001-11-07 08:46:24 +00:00
thorpej 9cc2517cfe When we read the interrupt status bits, mask it with the shadow copy
of the "currently enabled interrupts" -- the CPLD appears to light
up the status bit even if it doesn't cause the CPU IRQ line to be
asserted.
2001-11-07 02:56:18 +00:00
thorpej 0ea59754f1 We were already cheating w/ CPLD register access, so cheat all the
way and use pointer derefs rather than bus_space to access them.
2001-11-07 02:24:18 +00:00
thorpej 4a2c5fd66d * Pass the IRQ number to stray_irqhandler() and display it in
the panic message.
* Mask off undefined bits from the XINT3 and XINT0 registers in the CPLD.
2001-11-07 02:06:37 +00:00
thorpej acf9a688a0 Rework and fleshing out of Intel IQ80310 XScale eval board support.
More work to do -- this is a snapshot of work-in-progress.
2001-11-07 00:33:22 +00:00
thorpej 492b42cff8 Garbage collection. 2001-11-07 00:19:13 +00:00
thorpej b9364bb468 First cut at XScale setup code. Needs more work. 2001-11-07 00:17:36 +00:00
thorpej 46309d6bc6 Const poisoning of cpu/class names. 2001-11-06 20:39:13 +00:00
thorpej 5b3f78d953 "i80200", not "80200". 2001-11-06 20:02:13 +00:00
thorpej f12c8ee306 "XScale", not "Xscale". 2001-11-06 19:59:43 +00:00
thorpej daae0ad947 If BOARDTYPE == iq80310, make an S-records version of the kernel
as well.
2001-11-06 19:53:22 +00:00
thorpej e8982cb969 Make it possible for Makefile.${MACHINE}.inc to provide extra
stuff at the end of SYSTEM_LD_TAIL.
2001-11-06 19:52:21 +00:00
matt 1f09ca6e53 Fix a small buglet in syncicache (if the area to sync crosses the
segment 0 boundary).
2001-11-06 06:25:28 +00:00
simonb 15a42388c0 In pmap_enter(), sync the instruction cache if VM_PROT_EXECUTE. Fixes
problems when executing programs where text is copied to a page without
a dma sync (like NFS data bcopy'd to a buffer cache page).

From discussion with Jason Thorpe and Eduardo Horvath.
2001-11-06 04:49:49 +00:00
enami 03b4b0dfdd Use options<SPC><TAB> consistently (except for GENERIC_ISDN since it is
indented rather differently).
2001-11-06 01:57:06 +00:00
simonb e716956a0e Calculate the hardware interrupt to irq mapping array and irq mask from
the irq to hardware interrupt mask map instead of using two different
interrelated arrays and a bit mask that I've got wrong more than once
when updating by hand (including when I recently added the keyboard/mouse
interrupt mappings).  Now only the galaxy_intr_map[] array needs to
be updated when adding extra interrupts.
2001-11-06 01:26:47 +00:00
thorpej af0d2bf570 Config info for the i80312 XScale companion I/O chip. 2001-11-05 23:38:55 +00:00
thorpej 20b742fd48 RCS ID. 2001-11-05 23:38:05 +00:00
thorpej 49951f6d12 Prototypes for i80312 routines. 2001-11-05 23:37:41 +00:00
thorpej 22514e4c7d Routines for handling the i80312 memory controller for XScale.
Currently includes a routine to determine memory size from the
SDRAM configuration registers.
2001-11-05 23:37:01 +00:00
aymeric a2cea87aee defopt SERCONSOLE 2001-11-05 21:29:43 +00:00
matt a696291eab Fix bug in pte_spill (wasn't searching the right pvo_table list for the
victim PTE is the PTE was a secondary entry).
2001-11-05 06:44:11 +00:00
matt 4f3943d89a Test the right bit for wired in the PVO. 2001-11-05 06:24:55 +00:00
matt f02b548314 Don't try to pool_putting a PVO when re-entering a mapping. Since the
PVO_MANAGED may get munged, we can possible put this into the wrong pool.
2001-11-05 01:25:38 +00:00
tsutsui 8dd30af8d3 Add trm at pci. 2001-11-05 01:23:17 +00:00
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