/[gxemul]/trunk/src/include/pmppc.h
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Contents of /trunk/src/include/pmppc.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 4 - (show annotations)
Mon Oct 8 16:18:00 2007 UTC (16 years, 6 months ago) by dpavlin
File MIME type: text/plain
File size: 3693 byte(s)
++ trunk/HISTORY	(local)
$Id: HISTORY,v 1.707 2005/04/27 16:37:33 debug Exp $
20050408	Some minor updates to the wdc. Linux now doesn't complain
		anymore if a disk is non-present.
20050409	Various minor fixes (a bintrans bug, and some other things).
		The wdc seems to work with Playstation2 emulation, but there
		is a _long_ annoying delay when disks are detected.
		Fixing a really important bintrans bug (when devices and RAM
		are mixed within 4KB pages), which was triggered with
		NetBSD/playstation2 kernels.
20050410	Adding a dummy dev_ps2_ether (just so that NetBSD doesn't
		complain as much during bootup).
		Symbols starting with '$' are now ignored.
		Renaming dev_ps2_ohci.c to dev_ohci.c, etc.
20050411	Moving the bintrans-cache-isolation check from cpu_mips.c to
		cpu_mips_coproc.c. (I thought this would give a speedup, but
		it's not noticable.)
		Better playstation2 sbus interrupt code.
		Skip ahead many ticks if the count register is read manually.
		(This increases the speed of delay-loops that simply read
		the count register.)
20050412	Updates to the playstation2 timer/interrupt code.
		Some other minor updates.
20050413	NetBSD/cobalt runs from a disk image :-) including userland;
		updating the documentation on how to install NetBSD/cobalt
		using NetBSD/pmax (!).
		Some minor bintrans updates (no real speed improvement) and
		other minor updates (playstation2 now uses the -o options).
20050414	Adding a dummy x86 (and AMD64) mode.
20050415	Adding some (32-bit and 16-bit) x86 instructions.
		Adding some initial support for non-SCSI, non-IDE floppy
		images. (The x86 mode can boot from these, more or less.)
		Moving the devices/ and include/ directories to src/devices/
		and src/include/, respectively.
20050416	Continuing on the x86 stuff. (Adding pc_bios.c and some simple
		support for software interrupts in 16-bit mode.)
20050417	Ripping out most of the x86 instruction decoding stuff, trying
		to rewrite it in a cleaner way.
		Disabling some of the least working CPU families in the
		configure script (sparc, x86, alpha, hppa), so that they are
		not enabled by default.
20050418	Trying to fix the bug which caused problems when turning on
		and off bintrans interactively, by flushing the bintrans cache
		whenever bintrans is manually (re)enabled.
20050419	Adding the 'lswi' ppc instruction.
		Minor updates to the x86 instruction decoding.
20050420	Renaming x86 register name indices from R_xx to X86_R_xx (this
		makes building on Tru64 nicer).
20050422	Adding a check for duplicate MIPS TLB entries on tlbwr/tlbwi.
20050427	Adding screenshots to guestoses.html.
		Some minor fixes and testing for the next release.

==============  RELEASE 0.3.2  ==============


1 /* gxemul: $Id: pmppc.h,v 1.2 2005/03/05 12:34:03 debug Exp $ */
2 /* $NetBSD: pmppc.h,v 1.2 2002/07/05 18:45:20 matt Exp $ */
3
4 #ifndef PMPPC_H
5 #define PMPPC_H
6
7 /*
8 * Copyright (c) 2002 The NetBSD Foundation, Inc.
9 * All rights reserved.
10 *
11 * This code is derived from software contributed to The NetBSD Foundation
12 * by Lennart Augustsson (lennart@augustsson.net) at Sandburst Corp.
13 *
14 * Redistribution and use in source and binary forms, with or without
15 * modification, are permitted provided that the following conditions
16 * are met:
17 * 1. Redistributions of source code must retain the above copyright
18 * notice, this list of conditions and the following disclaimer.
19 * 2. Redistributions in binary form must reproduce the above copyright
20 * notice, this list of conditions and the following disclaimer in the
21 * documentation and/or other materials provided with the distribution.
22 * 3. All advertising materials mentioning features or use of this software
23 * must display the following acknowledgement:
24 * This product includes software developed by the NetBSD
25 * Foundation, Inc. and its contributors.
26 * 4. Neither the name of The NetBSD Foundation nor the names of its
27 * contributors may be used to endorse or promote products derived
28 * from this software without specific prior written permission.
29 *
30 * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
31 * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
32 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
33 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
34 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
35 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
36 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
37 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
38 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
39 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
40 * POSSIBILITY OF SUCH DAMAGE.
41 */
42
43 /* SDRAM */
44 #define PMPPC_SDRAM_BASE 0x00000000
45
46 /* Flash */
47 #define PMPPC_FLASH_BASE 0x70000000
48
49 #define PMPPC_IO_START 0x7fe00000
50
51 /* CS8900A ethernet */
52 #define PMPPC_CS_IO_BASE 0x7fe00000
53 #define PMPPC_CS_IO 0x7fe00c00
54 #define PMPPC_CS_MEM 0x7fe04000
55
56 /* time-of-day clock */
57 #define PMPPC_RTC 0x7ff00000
58 #define PMPPC_RTC_SIZE 0x00002000
59
60 /* board config regs */
61 #define PMPPC_CONFIG0 0x7ff40000
62 #define PMPPC_CONFIG1 0x7ff40001
63 #define PMPPC_LEDS 0x7ff40002
64 #define PMPPC_RESET 0x7ff40003
65 #define PMPPC_RESET_SEQ_STEP1 0xac
66 #define PMPPC_RESET_SEQ_STEP2 0x1d
67 #define PMPPC_INTR 0x7ff40004
68
69 /* ROM */
70 #define PMPPC_ROM_BASE 0x7ff80000
71
72 void setleds(int leds);
73
74 /* Interrupts */
75 #define PMPPC_I_BPMC_INTA CPC_IB_EXT0 /* PCI INTA */
76 #define PMPPC_I_BPMC_INTB CPC_IB_EXT1 /* PCI INTB */
77 #define PMPPC_I_BPMC_INTC CPC_IB_EXT2 /* PCI INTC */
78 #define PMPPC_I_BPMC_INTD CPC_IB_EXT3 /* PCI INTD */
79 #define PMPPC_I_ETH_INT CPC_IB_EXT4 /* ethernet */
80 #define PMPPC_I_RTC_INT CPC_IB_EXT5 /* rtc */
81
82
83 /*
84 * The variables below are extracted from the config register located
85 * at PMPPC_CONFIG.
86 */
87 struct a_config {
88 int a_boot_device;
89 #define A_BOOT_ROM 0
90 #define A_BOOT_FLASH 1
91 int a_has_ecc;
92 uint a_mem_size; /* in bytes */
93 uint a_l2_cache;
94 #define A_CACHE_PARITY 0
95 #define A_CACHE_NO_PARITY 1
96 #define A_CACHE_NONE 3
97 uint a_bus_freq; /* in hz */
98 int a_is_monarch;
99 int a_has_eth;
100 int a_has_rtc;
101 uint a_flash_size; /* in bytes */
102 uint a_flash_width; /* in bits */
103 };
104
105 extern struct a_config a_config;
106
107 #endif /* PMPPC_H */

  ViewVC Help
Powered by ViewVC 1.1.26