Commit Graph

22 Commits

Author SHA1 Message Date
scw d4f824014d A bunch of things:
- Clean up the way cpu-specific tlb/cache functions are configured
    and used.
  - Add a workaround for a problem whereby cpu* at superhyway? fails
    to probe.
  - Print more info about the cpu/cache.
  - Move the RESVEC handlers back into generic sh5 code and ditch
    the panic stack hack.
  - Make the on-chip SCIF device the default console on Cayman.
  - Add experimental support for booting via a standalone bootstrap
    program (not yet committed) and using the boot parameters passed
    in by it.
  - Add a few more SH elf constants.
  - Tick a couple of items off the TODO list.
2003-03-13 13:44:16 +00:00
scw 8b92aecb3f Use the full 'sh5le-unknown-netbsd-' prefixed toolchain names, and
set optimisation to -O2 now that gcc seems to generate decent sh5 code.
2003-01-19 19:46:57 +00:00
scw 873eee59ff Add fast assembler versions of in_cksum() and in4_cksum().
(Well, as fast as can be expected on a cpu with no carry flag)
2002-10-19 09:01:44 +00:00
scw 041aef4bee Preparation for compat_netbsd32. 2002-10-14 14:13:27 +00:00
scw 71de7dd5e6 - Tweak the kernel's start address for 64-bit kernels.
- Use a local hacked-up-for-sh64 dbsym(8).
2002-10-08 15:59:11 +00:00
scw 0bd5c145b4 Pick up sh3's disksubr.c instead of maintaining an identical copy locally.
This allows the two architectures to share disklabels.
2002-10-05 09:51:17 +00:00
elric d19d268a95 assign majors for raw and cooked cgd's. 2002-10-04 18:28:24 +00:00
scw 4c6f867793 s/COPTS/DEFCOPTS/ 2002-10-04 10:24:05 +00:00
scw 1e4acb4d20 Another temporary fix until I write a bootloader: run the kernel
through dbsym(8).
2002-10-01 07:56:45 +00:00
scw 7a61cafd1e After the kernel is built, run it through objcopy to change the LMA
of the loadable sections to correspond to the physical address of
RAM in the Cayman. This is so sh5gdb uploads the image to the correct
place. (Should've done this ages ago instead of manually running a
script...)

This can be removed when I get a native bootloader written.
2002-09-28 18:35:38 +00:00
scw d26f394149 Add audio(4). 2002-09-28 13:13:23 +00:00
scw a7be636d26 Rename the SH5 PCI attachment to "sh5pci" instead of abusing the "pcibus"
config definition. The new config world order is more picky about such things.
2002-09-28 13:08:22 +00:00
scw 251ba05b3f Support for the SH5 on-chip PCI bridge, and support for its deployment
in the Cayman board.
2002-09-28 11:16:36 +00:00
scw e578ac6fc3 Slight tweak to the linker emulation name now that I'm using ld(1)
from binutils-current.

Bump compiler optimisation to -O1.
2002-09-28 10:42:54 +00:00
gehenna 77a6b82b27 Merge the gehenna-devsw branch into the trunk.
This merge changes the device switch tables from static array to
dynamically generated by config(8).

- All device switches is defined as a constant structure in device drivers.

- The new grammer ``device-major'' is introduced to ``files''.

	device-major <prefix> char <num> [block <num>] [<rules>]

- All device major numbers must be listed up in port dependent majors.<arch>
  by using this grammer.

- Added the new naming convention.
  The name of the device switch must be <prefix>_[bc]devsw for auto-generation
  of device switch tables.

- The backward compatibility of loading block/character device
  switch by LKM framework is broken. This is necessary to convert
  from block/character device major to device name in runtime and vice versa.

- The restriction to assign device major by LKM is completely removed.
  We don't need to reserve LKM entries for dynamic loading of device switch.

- In compile time, device major numbers list is packed into the kernel and
  the LKM framework will refer it to assign device major number dynamically.
2002-09-06 13:18:43 +00:00
scw f8f7664ef6 Defflag/param some options for:
- selecting Simulator/ST50 Debugger targets,
  - hard-coding the cpu speed instead of using the speed detection code,
  - changing the default kernel IPT size,
  - selecting the IRL[0-3] mode to configure in the interrupt controller.
2002-08-30 10:29:35 +00:00
scw 3ad3b8c856 Add MD ddb(4) files. 2002-08-26 10:39:43 +00:00
scw e9688612da Make it so kernels can be compiled for 32-bit or 64-bit with a
simple config file option.

Also, don't hard code the endian setting in a header file. Rely instead
on the compiler defining __LITTLE_ENDIAN__ and DTRT as appropriate.
2002-07-12 19:33:27 +00:00
scw 67ea1085eb Add MD procfs stub for SH5. 2002-07-12 11:20:12 +00:00
scw 0d0a6374ef Some cleanups for the MACHINE_ARCH endian suffix change. 2002-07-11 14:42:55 +00:00
scw 8aecaeac04 Roll our own CWARNFLAGS. There are some things in MI code which the
SuperH version of gcc barfs over.
2002-07-05 14:02:31 +00:00
scw 59474a8c82 NetBSD, meet the SH-5 cpu.
SH-5, meet NetBSD.

Let's hope this is the start of a long and fruitful relationship. :-)

This code, funded by Wasabi Systems, adds initial support for the
Hitachi SuperH(tm) SH-5 cpu architecture to NetBSD.

At the present time, NetBSD/evbsh5 only runs on a SH-5 core simulator
which has no simulated devices other than a simple console. However, it
is good enough to get to the "root device: " prompt.

Device driver support for Real SH-5 Hardware is in place, particularly for
supporting the up-coming Cayman evaluation board, and should be quite
easy to get running when the hardware is available.

There is no in-tree toolchain for this port at this time. Gcc-current has
rudimentary SH-5 support but it is known to be buggy. A working toolchain
was obtained from SuperH to facilitate this port. Gcc-current will be
fixed in due course.

The SH-5 architecture is fully 64-bit capable, although NetBSD/evbsh5 has
currently only been tested in 32-bit mode. It is bi-endian, via a boot-
time option and it also has an "SHcompact" mode in which it will execute
SH-[34] user-land instructions.

For more information on the SH-5, see www.superh.com. Suffice to say it
is *not* just another respin of the SH-[34].
2002-07-05 13:31:28 +00:00