From 5c50116697e6e845c348b11805cb3761d38ebe0e Mon Sep 17 00:00:00 2001 From: ragge Date: Thu, 6 Jul 2000 17:34:29 +0000 Subject: [PATCH] Console Communication Area (CCA) layout description. Used on for example VAX 6000 machines. --- sys/arch/vax/include/cca.h | 81 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 sys/arch/vax/include/cca.h diff --git a/sys/arch/vax/include/cca.h b/sys/arch/vax/include/cca.h new file mode 100644 index 000000000000..20b4f783774c --- /dev/null +++ b/sys/arch/vax/include/cca.h @@ -0,0 +1,81 @@ +/* $NetBSD: cca.h,v 1.1 2000/07/06 17:34:29 ragge Exp $ */ + +/* + * Copyright (c) 2000 Ludd, University of Lule}, Sweden. All rights reserved. + * + * 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. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed at Ludd, University of + * Lule}, Sweden and its contributors. + * 4. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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. + */ + +/* + * Console Communication Area (CCA) layout description. + * OBS! This is incomplete and should be filled out if someone + * find docs for it. + */ + +struct cca { + struct cca *cca_base; /* Physical base address of block */ + short cca_size; /* Size of this struct */ + short cca_id; /* 'CC' */ + char cca_maxcpu; /* max number of CPUs */ + char cca_cksum; /* Checksum of all earlier bytes */ + char cca_flags; + char cca_revision; + + u_int64_t cca_ready; /* Data ready? */ + u_int64_t cca_console; /* Processors in console mode */ + u_int64_t cca_enabled; /* enabled/disabled */ + long cca_bitmapsz; /* Size of memory bitmap */ + long cca_bitmap; /* Address of memory bitmap */ + long cca_bmcksum; /* Bitmap checksum */ + long cca_bootdev; /* Node numbers */ + u_int64_t cca_starting; /* Processors currently starting */ + u_int64_t cca_restart; /* Processors currently restarting */ + long cca_pad1[3]; + u_int64_t cca_halted; /* Processors currently halted bny user */ + char cca_sernum[8]; /* Serial number */ + char cca_revs[16][8];/* CPU revisions */ + u_int64_t cca_vecenab; /* Processors with enabled vector processors */ + u_int64_t cca_vecwork; /* Processors with working vector processors */ + long cca_vecrevs[16];/* Vector processor revisions */ + char cca_pad2[208]; +/* Inter-CPU communication structs */ + struct { + char cc_flags; /* Status flags */ + char cc_to; /* Node sending to */ + char cc_from; /* Node sending from */ + char cc_pad; + char cc_txlen; /* Length of transmit message */ + char cc_rxlen; /* Length of receive message */ + char cc_unbuf; + char cc_txbuf[80]; /* Transmit buffer */ + char cc_rxbuf[80]; /* Receive buffer */ + } cca_cc[64]; +}; + +#ifdef _KERNEL +extern struct cca *cca; +#endif