Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/arch/ia64/ia64 Remove unused a C-source.
details: https://anonhg.NetBSD.org/src/rev/3424c3231d0f
branches: trunk
changeset: 783738:3424c3231d0f
user: kiyohara <kiyohara%NetBSD.org@localhost>
date: Sun Jan 06 11:31:39 2013 +0000
description:
Remove unused a C-source.
diffstat:
sys/arch/ia64/ia64/mca.c | 189 -----------------------------------------------
1 files changed, 0 insertions(+), 189 deletions(-)
diffs (193 lines):
diff -r e1704e0dc68e -r 3424c3231d0f sys/arch/ia64/ia64/mca.c
--- a/sys/arch/ia64/ia64/mca.c Sun Jan 06 11:29:35 2013 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,189 +0,0 @@
-/* $NetBSD: mca.c,v 1.3 2009/10/26 19:16:56 cegger Exp $ */
-
-/*-
- * Copyright (c) 2002 Marcel Moolenaar
- * 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.
- *
- * 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.
- *
- * $FreeBSD: src/sys/ia64/ia64/mca.c,v 1.10 2005/02/09 04:48:23 marcel Exp $
- */
-
-#include <sys/param.h>
-#include <sys/systm.h>
-#include <sys/kernel.h>
-#include <sys/lock.h>
-#include <sys/malloc.h>
-#include <sys/mutex.h>
-#include <sys/sysctl.h>
-#include <sys/uuid.h>
-#include <machine/mca.h>
-#include <machine/sal.h>
-#include <machine/smp.h>
-
-int64_t mca_info_size[SAL_INFO_TYPES];
-vaddr_t mca_info_block;
-struct simplelock mca_info_block_lock;
-
-static int mca_count; /* Number of records stored. */
-static int mca_first; /* First (lowest) record ID. */
-static int mca_last; /* Last (highest) record ID. */
-
-void
-ia64_mca_save_state(int type)
-{
- struct ia64_sal_result result;
- struct mca_record_header *hdr;
-
- char *name, *state;
- uint64_t seqnr;
- size_t recsz, totsz;
-
- /*
- * Don't try to get the state if we couldn't get the size of
- * the state information previously.
- */
- if (mca_info_size[type] == -1)
- return;
-
- while (1) {
- simple_lock(&mca_info_block_lock);
-
- result = ia64_sal_entry(SAL_GET_STATE_INFO, type, 0,
- mca_info_block, 0, 0, 0, 0);
- if (result.sal_status < 0) {
- simple_unlock(&mca_info_block_lock);
- return;
- }
-
- hdr = (struct mca_record_header *)mca_info_block;
- recsz = hdr->rh_length;
- seqnr = hdr->rh_seqnr;
-
- simple_unlock(&mca_info_block_lock);
-
- totsz = sizeof(struct sysctl_oid) + recsz + 32;
- oidp = malloc(totsz, M_MCA, M_WAITOK|M_ZERO);
- state = (char*)(oidp + 1);
- name = state + recsz;
- sprintf(name, "%lld", (long long)seqnr);
-
- simple_unlock(&mca_info_block_lock);
-
- /*
- * If the info block doesn't have our record anymore because
- * we temporarily unlocked it, get it again from SAL. I assume
- * that it's possible that we could get a different record.
- * I expect this to happen in a SMP configuration where the
- * record has been cleared by a different processor. So, if
- * we get a different record we simply abort with this record
- * and start over.
- */
- if (seqnr != hdr->rh_seqnr) {
- result = ia64_sal_entry(SAL_GET_STATE_INFO, type, 0,
- mca_info_block, 0, 0, 0, 0);
- if (seqnr != hdr->rh_seqnr) {
- simple_unlock(&mca_info_block_lock);
- free(oidp, M_MCA);
- continue;
- }
- }
-
- memcpy(state, (char*)mca_info_block, recsz);
-
- if (mca_count > 0) {
- if (seqnr < mca_first)
- mca_first = seqnr;
- else if (seqnr > mca_last)
- mca_last = seqnr;
- } else
- mca_first = mca_last = seqnr;
-
- mca_count++;
-
- /*
- * Clear the state so that we get any other records when
- * they exist.
- */
- result = ia64_sal_entry(SAL_CLEAR_STATE_INFO, type, 0, 0, 0,
- 0, 0, 0);
-
- simple_unlock(&mca_info_block_lock);
- }
-}
-
-void
-ia64_mca_init(void)
-{
- struct ia64_sal_result result;
- uint64_t max_size;
- char *p;
- int i;
-
- /*
- * Get the sizes of the state information we can get from SAL and
- * allocate a common block (forgive me my Fortran :-) for use by
- * support functions. We create a region 7 address to make it
- * easy on the OS_MCA or OS_INIT handlers to get the state info
- * under unreliable conditions.
- */
- max_size = 0;
- for (i = 0; i < SAL_INFO_TYPES; i++) {
- result = ia64_sal_entry(SAL_GET_STATE_INFO_SIZE, i, 0, 0, 0,
- 0, 0, 0);
- if (result.sal_status == 0) {
- mca_info_size[i] = result.sal_result[0];
- if (mca_info_size[i] > max_size)
- max_size = mca_info_size[i];
- } else
- mca_info_size[i] = -1;
- }
- max_size = round_page(max_size);
-
- if (max_size) {
- p = contigmalloc(max_size, M_TEMP, M_WAITOK, 0ul,
- 256*1024*1024 - 1, PAGE_SIZE, 256*1024*1024);
- mca_info_block = IA64_PHYS_TO_RR7(ia64_tpa((u_int64_t)p));
-
- if (bootverbose)
- printf("MCA: allocated %ld bytes for state info.\n",
- max_size);
- }
-
- /*
- * Initialize the spin lock used to protect the info block. When APs
- * get launched, there's a short moment of contention, but in all other
- * cases it's not a hot spot. I think it's possible to have the MCA
- * handler be called on multiple processors at the same time, but that
- * should be rare. On top of that, performance is not an issue when
- * dealing with machine checks...
- */
- spinlockinit(&mca_info_block_lock, "MCA spin lock");
-
- /*
- * Get and save any processor and platfom error records. Note that in
- * a SMP configuration the processor records are for the BSP only. We
- * let the APs get and save their own records when we wake them up.
- */
- for (i = 0; i < SAL_INFO_TYPES; i++)
- ia64_mca_save_state(i);
-}
Home |
Main Index |
Thread Index |
Old Index