Commit Graph

142 Commits

Author SHA1 Message Date
kleink
7b3b647647 Factor out W{CHAR,INT}_{MAX,MIN} into their own header file. 2004-05-08 21:51:47 +00:00
lukem
1c33b4e6a4 Overhaul MBR handling (part 1):
<sys/bootblock.h>:
    *	Added definitions for the Master Boot Record (MBR) used by
	a variety of systems (primarily i386), including the format
	of the BIOS Parameter Block (BPB).
	This information was cribbed from a variety of sources
	including <sys/disklabel_mbr.h> which this is a superset of.

	As part of this, some data structure elements and #defines
	were renamed to be more "namespace friendly" and consistent
	with other bootblocks and MBR documentation.
	Update all uses of the old names to the new names.

<sys/disklabel_mbr.h>:
    *	Deprecated in favor of <sys/bootblock.h> (the latter is more
	"host tool" friendly).

amd64 & i386:
    *	Renamed /usr/mdec/bootxx_dosfs to /usr/mdec/bootxx_msdos, to
	be consistent with the naming convention of the msdosfs tools.

    *	Removed /usr/mdec/bootxx_ufs, as it's equivalent to bootxx_ffsv1
	and it's confusing to have two functionally equivalent bootblocks,
	especially given that "ufs" has multiple meanings (it could be
	a synonym for "ffs", or the group of ffs/lfs/ext2fs file systems).

    *	Rework pbr.S (the first sector of bootxx_*):
	    +	Ensure that BPB (bytes 11..89) and the partition table
		(bytes 446..509) do not contain code.
	    +	Add support for booting from FAT partitions if BOOT_FROM_FAT
		is defined.  (Only set for bootxx_msdos).
	    +	Remove "dummy" partition 3; if people want to installboot(8)
		these to the start of the disk they can use fdisk(8) to
		create a real MBR partition table...
	    +	Compile with TERSE_ERROR so it fits because of the above.
		Whilst this is less user friendly, I feel it's important
		to have a valid partition table and BPB in the MBR/PBR.

    *	Renamed /usr/mdec/biosboot to /usr/mdec/boot, to be consistent
	with other platforms.

    *	Enable SUPPORT_DOSFS in /usr/mdec/boot (stage2), so that
    	we can boot off FAT partitions.

    *	Crank version of /usr/mdec/boot to 3.1, and fix some of the other
	entries in the version file.

installboot(8) (i386):
    *	Read the existing MBR of the filesystem and retain the BIOS
    	Parameter Block (BPB) in bytes 11..89 and the MBR partition
	table in bytes 446..509.  (Previously installboot(8) would
	trash those two sections of the MBR.)

mbrlabel(8):
    *	Use sys/lib/libkern/xlat_mbr_fstype.c instead of homegrown code
	to map the MBR partition type to the NetBSD disklabel type.


Test built "make release" for i386, and new bootblocks verified to work
(even off FAT!).
2003-10-08 04:25:43 +00:00
agc
aad01611e7 Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22364, verified by myself.
2003-08-07 16:26:28 +00:00
fvdl
7dd7f8baa2 Handle 64bit DMA addresses on PCI for platforms that can (currently only
enabled on amd64). Add a dmat64 field to various PCI attach structures,
and pass it down where needed. Implement a simple new function called
pci_dma64_available(pa) to test if 64bit DMA addresses may be used.
This returns 1 iff _PCI_HAVE_DMA64 is defined in <machine/pci_machdep.h>,
and there is more than 4G of memory.
2003-06-15 23:08:53 +00:00
thorpej
2a90e2a9c9 Remove redundant bounds_check_with_label() prototype. 2003-05-10 16:12:02 +00:00
fvdl
d88cf589cb A few ISA sound drivers like to share dma channels, and hence deferred
isa_dmamap_create() calls to their open/close entrypoints. This worked
with some luck, but broke on i386 when _bus_dmamap_create started
to allocate bounce buffers upfront, since memory below 16M may well
not be available when the sound devices is opened for the Nth time.

To fix this, create a new simple interface, isa_drq_alloc/isa_drq_free,
wrappers around already existing bitmask macros. These are expected
to be used before an isa_dmamap_create call, and after an
isa_dmamap_destroy call, respectively. For the sb and ad1848 drivers,
they're deferred until open/close.

All isa_dmamap_create calls can now use BUS_DMA_ALLOCNOW and be done
at attach time.
2003-05-09 23:51:25 +00:00
igy
f8bc001484 Support for Laser5's L-Card+ Embedded CPU Board
===============================================

This code enables NetBSD to support for NEC VR4181 CPU and some
devices on L-Card+ board.

NEC VR4181
----------

NEC VR4181 is a embedded CPU which has MIPS processor core and
integrated I/O devices within a package.  The basic architecture of
VR4181 is similar to other VR41xx family CPU.  Some integrated devices
are compatible to another VR41xx series CPU and some are not.

VR4181 has integrated devices listed bellow:

	- Two of 16550 compatible UART
	- Compact Flash controller
	- ISA bus controller
	- Audio CODEC
	- A/D converters
	- LCD driver
	- Touch panel controller
	- General purpose I/O


L-Card+ Embedded CPU Board
--------------------------

L-Card+ is name card sized CPU board for embedded system.  It is soled
by Laser5 (http://www.laser5.co.jp/) with Linux installed.

L-Card+ has following devices:

	- 16Mbyte flash memory (Intel 28F128)
	- 16Mbyte SDRAM
	- CS8900A Ethernet controller and RJ45 port
	- RS232C line driver and external connector
	- Compact Flash socket
	- A pair of Mezzanine connector for extension board
	- Some on-board LEDs


Current Feature of This Code
----------------------------

Following devices are supported:

	- UART (used for console)
	- wi on Compact Flash socket
	- cs (CS8900A)
	- Flash memory (Intel 28F128 and Fujitsu MBM29LV160)
	- Audio Coder (limited support)

--
Naoto Shimazaki
2003-05-01 07:01:58 +00:00
nakayama
e3e4805068 Replace machine/rnd.h with more appropriate name to share it
with cycle counter based microtime in kern/kern_microtime.c.
2003-02-05 13:57:50 +00:00
kent
cd7d9faeaf Introduce BUS_DMA_NOCACHE, and bus_dmamem_map() of i386 supports it. 2003-01-28 01:07:51 +00:00
thorpej
23bc250391 Merge the nathanw_sa branch. 2003-01-17 21:55:23 +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
takemura
900b200c92 Moved MI APM definitions into dev/apm. 2002-10-14 02:08:37 +00:00
briggs
0b956d0b8b Implement pmc(9) -- An interface to hardware performance monitoring
counters.  These counters do not exist on all CPUs, but where they
do exist, can be used for counting events such as dcache misses that
would otherwise be difficult or impossible to instrument by code
inspection or hardware simulation.

pmc(9) is meant to be a general interface.  Initially, the Intel XScale
counters are the only ones supported.
2002-08-07 05:14:47 +00:00
simonb
6b6e4f4f60 Simplify include files that just include <mips/locore.h>. 2002-06-05 06:18:34 +00:00
thorpej
dada8613e1 Let machine-dependent code specify how to enumerate the bus.
Currently, everyone uses pci_enumerate_bus_generic().
2002-05-15 19:23:51 +00:00
uch
ba21cf86c0 obsolete intrcnt[]. 2002-05-15 15:19:54 +00:00
takemura
e63e3c0ed4 Added bus probing to avoid bus error. 2002-04-14 07:59:56 +00:00
shin
f8fe1d3f46 change MAXPARTITIONS to 16. 2002-03-23 03:14:54 +00:00
simonb
d9ab16ba2f Purge CLSIZE, CLSIZELOG2 and MCLOFSET.
Be consistant in the way that MSIZE, MCLSHIFT, MCLBYTES and NMBCLUSTERS
  are defined.
Remove old VM constants from cesfic port.
Bump MSIZE to 256 on mipsco (the only one that wasn't already 256).
2002-02-26 15:13:19 +00:00
uch
06d80c8f0f change kernel start address 0x80030000 to 0x80001000 2002-02-11 19:10:29 +00:00
uch
6edf1a4018 bootinfo.h, config_hook.h, platid.h are moved to hpc/include 2002-02-01 18:16:03 +00:00
uch
ace35e63ce clean up header file. 2002-01-31 17:56:33 +00:00
uch
6f463cfc19 remove obsolete file 2002-01-29 19:04:59 +00:00
uch
7d17099353 clean up debug print and configuration. 2002-01-29 18:53:01 +00:00
uch
f39553cc10 hpcmips support of kloader. 2002-01-29 18:47:25 +00:00
takemura
e8088a8f99 Straightened vripvar.h 2002-01-26 10:50:43 +00:00
takemura
27d818bfdb Fixed vrpciu with config_hook PCI interrupt handling. 2002-01-13 14:18:31 +00:00
takemura
8f5ef79d0f Added _hpcmips_bd_mem_alloc_range, which was written by Katsuomi Hamajima. 2002-01-06 12:39:55 +00:00
uch
bd9aab9cb5 make this compile again. 2001-12-02 10:37:53 +00:00
takemura
5815e5f567 Fixed bus stuff to compile vrpciu.c (VR4131 CPU). 2001-11-22 14:22:30 +00:00
takemura
1d1d5c87af Rewrite bus stuff with method table in the bus tags. 2001-11-18 08:19:39 +00:00
shin
541214b72d clock_machdep.h was removed. 2001-09-27 01:08:22 +00:00
uch
6c1c0aff9c improve interrupt response. 2001-09-23 14:32:52 +00:00
uch
5c4a9c8761 remove dev/dec/clockvar.h from hpcmips source tree. 2001-09-18 17:37:26 +00:00
uch
87a75cec20 clean up "mainbus" related code. 2001-09-17 17:03:44 +00:00
uch
6a9bbffc4d rearrange struct platform@sysconf.h suitable for hpcmips.
overhaul hpcmips/hpcmips/. no actual changes.
2001-09-16 15:45:42 +00:00
uch
961880b501 ANSIfy, KNF. 2001-09-16 05:32:18 +00:00
uch
80d8d09cd7 switch from splvec to ipl_sr_bits. 2001-09-15 19:51:38 +00:00
uch
ba1ef3e899 ANSIfy. 2001-09-15 15:04:45 +00:00
simonb
099f117735 Standardise the format of MIPS' <machine/db_machdep.h>. 2001-09-04 07:43:29 +00:00
simonb
62fb390c64 May as well include <mips/cpuregs.h> in <mips/cpu.h> once rather than
in every MIPS port's <machine/cpu.h>.
2001-09-04 06:23:15 +00:00
simonb
214f5366ea Centralise struct cpu_info declaration and related info to <mips/cpu.h>. 2001-09-04 06:19:21 +00:00
simonb
e5b3cbb4cd Use comments around the token after a #endif. 2001-08-31 04:18:52 +00:00
simonb
a6b8c86af0 Remove an unneeded comment; ``sync'' with other "just include <mips/foo.h>"
files.
2001-08-31 03:53:22 +00:00
thorpej
babefc5331 Add BUS_DMA_READ and BUS_DMA_WRITE flags, that hint the back-end
at dmamap load time that the mapping will be used for a unidirectional
transfer of the specified direction.
2001-07-19 15:32:10 +00:00
enami
4553af4ee5 Add minimal support for vr4122/vrc4173 pci. 2001-06-13 07:32:47 +00:00
enami
3df61fa9d9 Generic softintr for hpcmips. 2001-06-13 06:03:10 +00:00
enami
f998b62e15 Fix commnet; hpcmips isn't x86 architecture. 2001-05-31 02:30:04 +00:00
mrg
67afbd6270 use _KERNEL_OPT 2001-05-30 11:57:16 +00:00
takemura
a8106b2b59 Fix typo. kbdparam.h -> kdbparam.h.
RP12685
2001-04-17 15:19:41 +00:00