Add the basic framework for the DEC KN7AA ("Ruby") systems -- DEC 7000
and DEC 10000. This is a work-in-progress, but this should be sufficient for the system to boot, using the PROM console routines (and then proceed to not find any devices because we don't yet support the "Laser System Bus").
This commit is contained in:
parent
e6333d4801
commit
01e56b5ebb
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: cpuconf.c,v 1.37 2019/04/08 00:47:21 thorpej Exp $ */
|
||||
/* $NetBSD: cpuconf.c,v 1.38 2024/03/02 20:15:33 thorpej Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 2000 The NetBSD Foundation, Inc.
|
||||
|
@ -60,7 +60,7 @@
|
|||
*/
|
||||
|
||||
#include <sys/cdefs.h>
|
||||
__KERNEL_RCSID(0, "$NetBSD: cpuconf.c,v 1.37 2019/04/08 00:47:21 thorpej Exp $");
|
||||
__KERNEL_RCSID(0, "$NetBSD: cpuconf.c,v 1.38 2024/03/02 20:15:33 thorpej Exp $");
|
||||
|
||||
#include <sys/param.h>
|
||||
#include <sys/device.h>
|
||||
|
@ -68,6 +68,13 @@ __KERNEL_RCSID(0, "$NetBSD: cpuconf.c,v 1.37 2019/04/08 00:47:21 thorpej Exp $")
|
|||
#include <machine/cpuconf.h>
|
||||
#include <machine/rpb.h>
|
||||
|
||||
#include "opt_dec_kn7aa.h"
|
||||
#ifdef DEC_KN7AA
|
||||
extern void dec_kn7aa_init(void);
|
||||
#else
|
||||
#define dec_kn7aa_init platform_not_configured
|
||||
#endif
|
||||
|
||||
#include "opt_dec_3000_500.h"
|
||||
#ifdef DEC_3000_500
|
||||
extern void dec_3000_500_init(void);
|
||||
|
@ -208,7 +215,7 @@ extern void dec_2000_300_init(void);
|
|||
static const struct cpuinit cpuinit[] = {
|
||||
cpu_notsupp(ST_ADU, "Alpha Demo Unit"),
|
||||
cpu_notsupp(ST_DEC_4000, "DEC 4000 (``Cobra'')"),
|
||||
cpu_notsupp(ST_DEC_7000, "DEC 7000 (``Ruby'')"),
|
||||
cpu_init(ST_DEC_7000, dec_kn7aa_init, "DEC_KN7AA"),
|
||||
cpu_init(ST_DEC_3000_500, dec_3000_500_init, "DEC_3000_500"),
|
||||
cpu_init(ST_DEC_2000_300, dec_2000_300_init, "DEC_2000_300"),
|
||||
cpu_init(ST_DEC_3000_300, dec_3000_300_init, "DEC_3000_300"),
|
||||
|
|
|
@ -0,0 +1,84 @@
|
|||
/* $NetBSD: dec_kn7aa.c,v 1.1 2024/03/02 20:15:33 thorpej Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 2024 The NetBSD Foundation, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This code is derived from software contributed to The NetBSD Foundation
|
||||
* by Jason R. Thorpe.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
|
||||
* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
||||
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
|
||||
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#include <sys/cdefs.h> /* RCS ID & Copyright macro defns */
|
||||
|
||||
__KERNEL_RCSID(0, "$NetBSD: dec_kn7aa.c,v 1.1 2024/03/02 20:15:33 thorpej Exp $");
|
||||
|
||||
#include <sys/param.h>
|
||||
#include <sys/systm.h>
|
||||
#include <sys/device.h>
|
||||
#include <sys/conf.h>
|
||||
|
||||
#include <dev/cons.h>
|
||||
|
||||
#include <machine/rpb.h>
|
||||
#include <machine/autoconf.h>
|
||||
#include <machine/cpuconf.h>
|
||||
|
||||
void dec_kn7aa_init(void);
|
||||
void dec_kn7aa_cons_init(void);
|
||||
static void dec_kn7aa_device_register(device_t, void *);
|
||||
|
||||
const struct alpha_variation_table dec_kn7aa_variations[] = {
|
||||
{ 0, "DEC 7000" },
|
||||
{ 1, "DEC 10000" },
|
||||
{ 0, NULL },
|
||||
};
|
||||
|
||||
void
|
||||
dec_kn7aa_init(void)
|
||||
{
|
||||
uint64_t variation;
|
||||
|
||||
platform.family = "KN7AA (\"Ruby\")";
|
||||
|
||||
if ((platform.model = alpha_dsr_sysname()) == NULL) {
|
||||
variation = hwrpb->rpb_variation & SV_ST_MASK;
|
||||
if ((platform.model = alpha_variation_name(variation,
|
||||
dec_kn7aa_variations)) == NULL)
|
||||
platform.model = alpha_unknown_sysname();
|
||||
}
|
||||
|
||||
platform.iobus = "lsb";
|
||||
platform.cons_init = dec_kn7aa_cons_init;
|
||||
platform.device_register = dec_kn7aa_device_register;
|
||||
}
|
||||
|
||||
void
|
||||
dec_kn7aa_cons_init(void)
|
||||
{
|
||||
}
|
||||
|
||||
static void
|
||||
dec_kn7aa_device_register(device_t dev, void *aux)
|
||||
{
|
||||
}
|
|
@ -1,4 +1,4 @@
|
|||
# $NetBSD: GENERIC,v 1.419 2023/12/17 18:48:53 andvar Exp $
|
||||
# $NetBSD: GENERIC,v 1.420 2024/03/02 20:15:33 thorpej Exp $
|
||||
#
|
||||
# This machine description file is used to generate the default NetBSD
|
||||
# kernel.
|
||||
|
@ -19,7 +19,7 @@ include "arch/alpha/conf/std.alpha"
|
|||
|
||||
options INCLUDE_CONFIG_FILE # embed config file in kernel binary
|
||||
|
||||
ident "GENERIC-$Revision: 1.419 $"
|
||||
ident "GENERIC-$Revision: 1.420 $"
|
||||
|
||||
maxusers 32
|
||||
|
||||
|
@ -34,6 +34,7 @@ options DEC_AXPPCI_33 # NoName: AXPpci33, Multia, etc.
|
|||
options DEC_EB164 # EB164: AlphaPC 164
|
||||
options DEC_EB64PLUS # EB64+: AlphaPC 64, etc.
|
||||
options DEC_KN20AA # KN20AA: AlphaStation 500 and 600
|
||||
options DEC_KN7AA # KN7AA: DEC 7000 and 10000
|
||||
options DEC_KN8AE # KN8AE: AlphaServer 8200 and 8400
|
||||
options DEC_KN300 # KN300: AlphaServer 4100 and 1200
|
||||
options DEC_550 # Miata: Digital Personal Workstation
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# $NetBSD: INSTALL,v 1.118 2021/07/23 14:38:58 thorpej Exp $
|
||||
# $NetBSD: INSTALL,v 1.119 2024/03/02 20:15:33 thorpej Exp $
|
||||
#
|
||||
# Alpha INSTALL kernel.
|
||||
|
||||
|
@ -29,6 +29,7 @@ options DEC_AXPPCI_33 # NoName: AXPpci33, Multia, etc.
|
|||
options DEC_EB164 # EB164: AlphaPC 164
|
||||
options DEC_EB64PLUS # EB64+: AlphaPC 64, etc.
|
||||
options DEC_KN20AA # KN20AA: AlphaStation 500 and 600
|
||||
options DEC_KN7AA # KN7AA: DEC 7000 and 10000
|
||||
options DEC_KN8AE # KN8AE: AlphaServer 8200 and 8400
|
||||
options DEC_KN300 # KN300: AlphaServer 4100 and 1200
|
||||
options DEC_550 # Miata: Digital Personal Workstation
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# $NetBSD: files.alpha,v 1.195 2024/03/02 19:57:57 thorpej Exp $
|
||||
# $NetBSD: files.alpha,v 1.196 2024/03/02 20:15:33 thorpej Exp $
|
||||
#
|
||||
# alpha-specific configuration info
|
||||
|
||||
|
@ -19,6 +19,7 @@ defflag DEC_AXPPCI_33 # NoName: AXPpci33, etc.
|
|||
defflag DEC_EB164 # EB164: AlphaPC 164
|
||||
defflag DEC_EB64PLUS # EB64+: AlphaPC 64, etc.
|
||||
defflag DEC_KN20AA # KN20AA: AlphaStation 500 and 600
|
||||
defflag DEC_KN7AA # KN7AA: DEC 7000 and 10000
|
||||
defflag DEC_KN8AE # KN8AE: AlphaServer 8200 and 8400
|
||||
defflag DEC_KN300 # KN300: AlphaServer 4X00
|
||||
defflag DEC_1000 # Mikasa etc: AlphaServer 1000
|
||||
|
@ -416,6 +417,7 @@ file arch/alpha/alpha/dec_eb164.c dec_eb164
|
|||
file arch/alpha/alpha/dec_eb64plus.c dec_eb64plus
|
||||
file arch/alpha/alpha/dec_eb66.c dec_eb66
|
||||
file arch/alpha/alpha/dec_kn20aa.c dec_kn20aa
|
||||
file arch/alpha/alpha/dec_kn7aa.c dec_kn7aa
|
||||
file arch/alpha/alpha/dec_kn8ae.c dec_kn8ae
|
||||
file arch/alpha/alpha/dec_kn300.c dec_kn300
|
||||
file arch/alpha/alpha/api_up1000.c api_up1000
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: prom.h,v 1.16 2020/10/03 17:31:46 thorpej Exp $ */
|
||||
/* $NetBSD: prom.h,v 1.17 2024/03/02 20:15:33 thorpej Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1994, 1995, 1996 Carnegie-Mellon University.
|
||||
|
@ -121,10 +121,11 @@ void hwrpb_restart_setup(void);
|
|||
#ifdef _KERNEL
|
||||
|
||||
#ifdef _KERNEL_OPT
|
||||
#include "opt_dec_kn7aa.h"
|
||||
#include "opt_dec_kn8ae.h"
|
||||
|
||||
#if defined(DEC_KN8AE)
|
||||
#define _PROM_MAY_USE_PROM_CONSOLE
|
||||
#if defined(DEC_KN7AA) || defined(DEC_KN8AE)
|
||||
#define _PROM_MAY_USE_PROM_CONSOLE /* XXX */
|
||||
#endif /* DEC_KN8AE */
|
||||
#endif /* _KERNEL_OPT */
|
||||
|
||||
|
|
Loading…
Reference in New Issue