Commit Graph

223 Commits

Author SHA1 Message Date
drochner d2b9876081 move initialization of the "struct pglist" returned by uvm_pglistalloc()
from the calling code into uvm_pglistalloc() itself for consistency
and easier error handling
2002-06-02 14:44:35 +00:00
briggs f03fce66ce Fix odd typo from addition of pba_bridgetag. 2002-05-22 23:54:14 +00:00
thorpej 204183c0fa * Add "pcitag_t *pba_bridgetag" to pci_attach_args. This is set to
NULL for root PCI busses.  For busses behind a bridge, it points to
  a persistent copy of the bridge's pcitag_t.  This can be very useful
  for machine-dependent PCI bus enumeration code.
* Implement a machine-dependent pci_enumerate_bus() for sparc64 which
  uses OFW device nodes to enumerate the bus.  When a PCI bus that is
  behind a bridge is attached, pci_attach_hook() allocates a new PCI
  chipset tag for the new bus and sets it's "curnode" to the OFW node
  of the bridge.  This is used as a starting point when enumerating
  that bus.  Root busses get the OFW node of the host bridge (psycho).
* Garbage-collect "ofpci" and "ofppb" from the sparc64 port.
2002-05-16 01:01:28 +00:00
thorpej 35fd50c116 Switch to esiop by default (again); it is fully-baked enough to use
in production now.
2002-05-03 19:35:53 +00:00
thorpej bfd9280083 Issue a CPWAIT sequence after enabling the MMU to make sure
it's really enabled.
2002-04-26 18:01:21 +00:00
thorpej 6b4a2676fd Give gzboot a 1M heap, so that loading gzip -9'd kernels works
reliably.
2002-04-25 22:30:38 +00:00
thorpej 248e944701 Allow the size of the heap to be specified at build time. 2002-04-25 22:11:51 +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
briggs 3d46ca0e98 XSCALE_CCLKCFG should not be set in std.iq80310. Set IQ80310 to use
XSCALE_CCLKCFG=9 (733MHz) and TEAMASA_NPWR to use XSCALE_CCLKCFG=7 (600MHz)
as that's what the part on the board is rated for.
2002-04-25 01:50:00 +00:00
thorpej 1ca5e360be Use LOADADDR() where appropriate. 2002-04-25 01:48:21 +00:00
briggs 24bc04a204 80321 doesn't have a CCLKCFG register. 2002-04-25 01:47:56 +00:00
thorpej 48774f52db Add iq80321.c 2002-04-25 01:47:54 +00:00
thorpej 509fd84067 Add iq80310.c 2002-04-25 01:47:41 +00:00
thorpej 643663fa93 Go back to siop; esiop isn't fully baked yet. 2002-04-24 20:38:24 +00:00
thorpej fda6669861 Use esiop. 2002-04-24 17:45:55 +00:00
briggs 29e436c9e8 Enable new option SIOP_SYMLED 2002-04-18 14:32:57 +00:00
thorpej 0f3cb4bcae Add a standalone routine for fetching the memory size from the
core module on an ARM Integrator board.
2002-04-18 05:30:45 +00:00
thorpej a7a582e392 * Call board_init() rather than mem_init() (board_init() will take
care of that for us).
* Call board_fini() right before jumping to the kernel entry point.
2002-04-17 17:38:58 +00:00
thorpej a400421fe8 Add board_init() and board_fini() routines for IQ80310 and IQ80321
eval boards.
2002-04-17 17:37:52 +00:00
mycroft 558b4fb278 Switch from de to tlp by default. 2002-04-17 02:22:41 +00:00
thorpej eedd94475c * Move the mii_bitbang attribute into dev/mii/files.mii
* Pull in dev/mii/files.mii from conf/files, rather than playing
  the magic "files include order" dance in N machine-dependent
  configuration definitions.
2002-04-16 20:50:16 +00:00
wiz 5040dc6d7d Remove last(?) traces of pmsi. 2002-04-16 11:49:54 +00:00
thorpej cff1953dae Fix typo in last (luckily, search/replace makes the same typo everywhere). 2002-04-14 21:32:24 +00:00
thorpej 302ea396c3 iq80310_do_pending -> iq80310_do_soft, to accurately describe what's
actually going on there.
2002-04-14 21:30:19 +00:00
thorpej a9e4c1a943 * Delcare COUNTER_MASK properly.
* Restructure timer_read() so that the compiler generates better code.
2002-04-14 19:47:03 +00:00
briggs 301eca907d Enable ext2fs and RAIDframe. 2002-04-13 23:33:16 +00:00
thorpej 71123e8747 Gah, correct editor mistake in last. 2002-04-13 22:42:39 +00:00
thorpej 755369ecb1 * Eliminate some redundant masking.
* Don't run the snake if the board doesn't have a 7-segment display.
2002-04-13 22:41:46 +00:00
thorpej 5358f38f8b Add an install kernel for the Npwr. 2002-04-13 00:51:18 +00:00
thorpej 60e10382d5 Add a "netbsd-sd0" configuration. 2002-04-12 21:45:13 +00:00
thorpej 3d6043053d * Add the ability to display .'s on the 7seg display.
* Display . . when halted.
2002-04-12 20:50:26 +00:00
thorpej 09eacc7061 Set COM_HW_NO_TXPRELOAD. The IQ80321's UART doesn't lose without
this, but it works fine with it, and this serves to broaden the
testing field of the flag.
2002-04-12 19:35:17 +00:00
thorpej ff7306cf44 * Add a new hwflag, COM_HW_NO_TXPRELOAD, which tells comstart() to
not pre-load the chip's Tx buffer, but instead waits for the Tx Ready
  interrupt to transmit the first chunk of data.
* On the IOP310, set COM_HW_NO_TXPRELOAD, rather than COM_HW_TXFIFO_DISABLE.

This solves the "UART hangs" problem on the Npwr in a nicer way (i.e. we
get to use the FIFO, whee).  The COM_HW_NO_TXPRELOAD happens to match the
Linux 16550 driver's Tx algorithm, and the "UART hang" was never observed
on the Npwr running Linux.

Eventually, we might want to eliminate the COM_HW_NO_TXPRELOAD, and simply
always use its algorithm.  But it should be tested on more 16x50 variants
before we do that.

Kudos to Valeriy Ushakov <uwe@netbsd.org> for pointing out this solution
(which also happens to fix the stray UART interrupt issue on the Krups
Javastation), and to Allen Briggs <briggs@netbsd.org> for experimenting
with various methods of fixing this.
2002-04-12 19:32:30 +00:00
thorpej f56b432a79 Use the bus_space_generic bus space ops. 2002-04-12 19:12:31 +00:00
thorpej 80146a5185 Use the bus_space_generic bus space ops. 2002-04-12 19:02:30 +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
thorpej a6159879f0 Remove footbridge-specific stuff that will never apply on the Integrator. 2002-04-12 06:13:42 +00:00
briggs a7d9bc4bf3 Processing pending interrupts before reenabling external interrupts in splx(). 2002-04-12 04:52:57 +00:00
briggs b5ee40947f Disable TXFIFO on npwr. There is some sort of serial interrupt lossage that
seems to be greatly alleviated by this change.
2002-04-12 03:01:57 +00:00
briggs 67dbc34547 Remove exception for CONSPEED on NPWR -- current redboot uses 115200, too. 2002-04-12 00:58:49 +00:00
thorpej 49df0c927f Lose -nbsd 2002-04-11 21:47:36 +00:00
thorpej da162bee90 * Move the code that cleans the XScale mini-data cache into its
own function.
* Add a new function which sets up the mini-data cache clean area
  properly.
2002-04-09 23:44:00 +00:00
thorpej 1b20a04772 * Split pte_cache_mode into pte_l1_s_cache_mode, pte_l2_l_cache_mode,
and pte_l2_s_cache_mode.  The cache-meaningful bits are different
  for these descriptor types on some processor models.
* Add pte_*_cache_mask, corresponding to each above, which has a mask
  of the cache-meangful bits, and define those for generic and XScale
  MMU classes.  Note, the L2_S_CACHE_MASK_xscale definition requires
  use of the Extended Small Page L2 descriptor (the "X" bit overlaps
  with AP bits otherwise).
2002-04-09 22:37:00 +00:00
thorpej 991426d348 * Rewrite the 32-bit ARM pte.h based on the ARM architecture manual.
Significant cleanup, here, including better PTE bit names.
* Add XScale PTE extensions (ECC enable, write-allocate cache mode).
* Mechanical changes everywhere else to update for new pte.h.  While
  doing this, two bugs (as a result of typos) were fixed in

	arm/arm32/bus_dma.c
	evbarm/integrator/int_bus_dma.c
2002-04-05 16:58:01 +00:00
thorpej cac428e2af Use pte_cache_mode instead of PT_CACHEABLE; 2002-04-05 03:55:36 +00:00
thorpej 20b1bb2655 Clean up handling of the vector page on 32-bit ARM systems:
* Don't refer to VA 0, instead refer to a new variable: vector_page
* Delete the old zero_page_*() functions, replacing them with a new
  one: vector_page_setprot().
* When manipulating vector page mappings in user pmaps, only do so if
  the vector page is below KERNEL_BASE (if it's above KERNEL_BASE, the
  vector page is mapped by the kernel pmap).
* Add a new function, arm32_vector_init(), which takes the virtual
  address of the vector page (which MUST be valid when the function
  is called) and a bitmask of vectors the kernel is going to take
  over, and performs all vector page initialization, including setting
  the V bit in the CPU Control register ("relocate vectors to high
  address"), if necessary.
2002-04-03 23:33:26 +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
thorpej 6cd0f2f79c Add -nbsd to OUTPUT_FORMAT BFD target names. 2002-04-01 20:34:36 +00:00
thorpej f34ab7f99f Add -nbsd to OUTPUT_FORMAT BFD names. 2002-04-01 20:33:37 +00:00