scw
1ad6189f11
No, really attach sm(4) at sysfpga...
2002-10-22 15:35:25 +00:00
scw
b604625664
- sm at sysfpga,
...
- gsip at pci (and its phy)
2002-10-22 15:21:24 +00:00
scw
8477927799
- Attach sm(4) at sysfpga instead of at superio. The latter was a relic
...
of when we used to attach sm(4) to the isabus.
- Re-work sysfpga's interrupt naming scheme to reflect that used in the docs.
2002-10-22 15:19:06 +00:00
scw
b12d613c40
Enable the NMI only if DDB is defined, instead of DEBUG.
2002-10-22 14:38:26 +00:00
scw
bce8874166
Make this compile when DEBUG is not defined.
2002-10-22 14:17:34 +00:00
scw
6a2132797e
- Simplify early initialisation so we do most of it in C.
...
- Call allocsys() much earlier so we can use uvm_pageboot_alloc() to
steal KSEG0 pages for system tables.
2002-10-22 09:30:26 +00:00
scw
c01b319dcc
There seem to be some stability problems with the scif serial port driver
...
at the moment, possibly as a side-effect of some yet-to-be-committed SH5
speed-ups.
Work-around it for now by using com0 as the console.
2002-10-19 08:43:32 +00:00
scw
472a1ad6b2
When setting up to probe a com(4) port for use as the console, make sure
...
the port is powered up and configured correctly.
2002-10-19 08:39:50 +00:00
scw
a92b12e63a
Enable the early bus_space_map() of the sysfpga's registers.
2002-10-14 14:21:35 +00:00
scw
89612efe30
Interrupt overhaul:
...
- Allocate interrupt handles dynamically from a pool(9) to reduce the
number of TLB misses during interrupt dispatch.
- Fully support evcnt(9) in all interrupt dispatchers.
2002-10-14 14:19:27 +00:00
scw
f07358cb66
- Make sure not to sign-extend the PA of KSEG0, particulary in 64-bit mode,
...
- Moved intrnames/eintrnames here, since they're pretty much board-specific.
2002-10-08 15:52:02 +00:00
scw
199e165526
Add a cacheop for purging/invalidating the whole operand/insn caches.
...
This is currently not used (actually, it was used locally for a short time
while tracking down a pmap bug), but is here in case it's needed later.
2002-10-07 14:48:14 +00:00
scw
c3ed42912c
Simplify the scsibus attatchment as pointed out by Simon Burge.
2002-10-07 08:20:07 +00:00
scw
c784454024
Use a more aesthetically pleasing 10% duty-cycle for the heartbeat LED.
2002-10-05 12:18:58 +00:00
scw
a7330033a9
Add ex(4), ahc(4), scsibus(4), and sd(4).
2002-10-05 11:43:23 +00:00
scw
1b3c8f3be0
Flesh out cpu_reboot().
2002-10-05 11:01:13 +00:00
scw
fa307a78a6
A couple of additions:
...
- sysfpga_sreset()
Hit the soft-reset register to reset the board.
- sysfpga_twinkle_led()
Might as well put the blinkenlight on the Cayman to good use as
a "heartbeat" indicator.
2002-10-05 10:59:10 +00:00
scw
db80ebe781
Add needs-flag to sysfpga, and check it before calling sysfpga_nmi_clear().
2002-10-04 09:24:52 +00:00
scw
d4c3160197
pmap_bootstrap() needs to know the physical address of KSEG0.
2002-10-04 09:23:27 +00:00
thorpej
c5e91d447d
Use CFATTACH_DECL().
2002-10-02 04:55:47 +00:00
scw
9d94c9899c
Check if an interrupt is already claimed _after_ locating the
...
right interrupt handle.
2002-10-01 07:58:54 +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
f5138efc2e
Fix things so the com(4) probe in consinit() works.
2002-09-28 12:50:27 +00:00
scw
5868dbcbf6
Make this work following the gehenna_devsw merge.
2002-09-28 12:49:17 +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
thorpej
9a711d6985
Declare all cfattach structures const.
2002-09-27 20:29:02 +00:00
thorpej
6c88de3b53
Introduce a new routine, config_match(), which invokes the
...
cfattach->ca_match function in behalf of the caller. Use it
rather than invoking cfattach->ca_match directly.
2002-09-27 03:17:40 +00:00
thorpej
d1ad2ac4f2
Rather than referencing the cfdriver directly in the cfdata entries,
...
instead use a string naming the driver. The cfdriver is then looked
up in a list which is built at run-time.
2002-09-27 02:24:06 +00:00
thorpej
c12a2960bb
In sysfpgamatch(), the expression "cf->cf_driver == &sysfpga_cd" is
...
always true, so just return the constant 1.
2002-09-26 20:25:41 +00:00
scw
d942ee4018
- Setup the cpu-specific cache manipulation function pointers.
...
- Add sh5_nmi_clear().
2002-09-22 20:52:12 +00:00
scw
f1780fd0ae
Add sysfpga_nmi_clear(). This resets the NMI one-shot in Cayman's
...
System FPGA chip.
2002-09-22 20:51:09 +00:00
scw
f9a4918dc0
INT1 Select is at offset 0x72, not 0x71.
2002-09-22 20:49:27 +00:00
scw
7fa549e8d4
Move the RESVEC vector table/handlers to here, since some if it is,
...
essentially, machine dependent.
2002-09-10 11:53:14 +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
4b8905020d
- #define the physical start of RAM.
...
- Set up a Panic Stack,
- Don't pre-map the sysfpga at this time.
- Calculate the CPU speed only if SH5_CPU_SPEED isn't defined.
- On a related note, make the CPU speed probing code more accurate.
- Print the CPU speed at startup.
- Force RB_SINGLE for now, at least until I get a bootloader written.
2002-09-04 15:14:46 +00:00
scw
e94347123e
Set SMC_FLAGS_32BIT_READ flag before calling the MI code.
2002-09-04 14:55:42 +00:00
scw
9c10dc5c22
If DEBUG is defined, enable Cayman's NMI button.
2002-08-31 09:30:02 +00:00
scw
7da5ef1b84
Delete the CPU_CTB1 option; it was never used.
...
Add the SH5_INTC_IRL_MODE_INDEP option, to correctly configure
the interrupt controller for Cayman.
2002-08-30 11:25:09 +00:00
scw
877f6b7143
Add some options:
...
- SH5_SIM, as we're targetting the simulator.
- KERNEL_IPT_SIZE, as we want to reduce startup time.
- DDB. Yes, DDB inside a debugger/simulator. :)
2002-08-30 11:23:12 +00:00
scw
aaa2f7e5ca
When running on the simulator, assume there is 16MB of "RAM". This
...
greatly reduces startup time.
2002-08-30 11:06:03 +00:00
scw
1fd693d5b5
In the IRL1 interrupt handler, you need to read the Interrupt
...
Source Register#0, Steve. Not the Board Operating Mode register. Duh.
2002-08-30 11:03:25 +00:00
scw
de63e7f1e4
Swap the IRL numbers for FEMI and SUPERIO, after reading the Cayman
...
docs a bit more closely...
2002-08-30 10:59:39 +00:00
scw
5cc4fe3194
Slight tweak to how the sm(4) driver attaches to superio. Also, just
...
use the regular bus tag for sm(4) instead of superio's "special" ISA
bus tag.
2002-08-30 10:57:05 +00:00
scw
873939f14a
Fix a typo which resulted in a bus_space_write_stream_4() where it
...
should have been bus_space_write_stream_2().
The sm(4) driver gets a bit further now.
While I'm here, g/c a debug printf accidentally commited last time around.
2002-08-29 18:11:07 +00:00
scw
2ccf86d7da
Re-sync with current reality.
...
Add options DDB.
Add debug makeoptions.
G/C some unnecessary stuff.
2002-08-26 11:16:02 +00:00
scw
9bcd736b9d
Attach sm(4) at superio, instead of the previous isa bus attachment.
...
The latter's probe doesn't pick up the ethernet controller, and the
attach function needs to set MIIF_NOISOLATE.
We attach it at superio mainly because they share the same region of
address space, and the ethernet controller's interrupt is routed
through the superio.
2002-08-26 11:04:44 +00:00
scw
fe7de4db3f
Need <machine/db_machdep.h>
2002-08-26 10:58:38 +00:00
scw
a1fda8f587
Call ddb_init() right after initialising the console.
...
We have no symbols at this time (due to lack of a bootloader)
so just hardcode symbol length to zero for now.
2002-08-26 10:55:39 +00:00
scw
0eb22d79b4
Try to preserve more bits in the status register (e.g. trace/watch).
...
Bump the (currently hardcoded) size of onboard RAM to match the Cayman.
2002-08-26 10:52:13 +00:00
thorpej
139cdc3125
Make nbuf, nswbuf, and bufpages unsigned. Make all operations on these
...
variables unsigned, and update places where their values are printed.
2002-08-25 20:21:33 +00:00