1218887Sdim/*	$NetBSD: rmixl_cpucorevar.h,v 1.3 2011/04/14 05:15:22 cliff Exp $	*/
2218887Sdim/*-
3218887Sdim * Copyright (c) 2010 The NetBSD Foundation, Inc.
4218887Sdim * All rights reserved.
5218887Sdim *
6218887Sdim * This code is derived from software contributed to The NetBSD Foundation
7218887Sdim * by Cliff Neighbors.
8218887Sdim *
9218887Sdim * Redistribution and use in source and binary forms, with or without
10218887Sdim * modification, are permitted provided that the following conditions
11218887Sdim * are met:
12218887Sdim * 1. Redistributions of source code must retain the above copyright
13218887Sdim *    notice, this list of conditions and the following disclaimer.
14218887Sdim * 2. Redistributions in binary form must reproduce the above copyright
15218887Sdim *    notice, this list of conditions and the following disclaimer in the
16218887Sdim *    documentation and/or other materials provided with the distribution.
17218887Sdim *
18218887Sdim * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
19218887Sdim * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
20218887Sdim * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
21218887Sdim * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
22218887Sdim * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
23218887Sdim * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
24218887Sdim * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25218887Sdim * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
26218887Sdim * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
27218887Sdim * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28218887Sdim * POSSIBILITY OF SUCH DAMAGE.
29218887Sdim */
30218887Sdim
31218887Sdim#ifndef _ARCH_MIPS_RMI_RMIXL_CPUCOREVAR_H_
32218887Sdim#define _ARCH_MIPS_RMI_RMIXL_CPUCOREVAR_H_
33218887Sdim
34218887Sdim#ifdef _KERNEL_OPT
35218887Sdim#include "opt_multiprocessor.h"
36218887Sdim#endif
37218887Sdim
38218887Sdimstruct cpucore_softc {
39218887Sdim	device_t	sc_dev;
40218887Sdim	u_int		sc_core;
41218887Sdim	u_int		sc_threads_enb;
42218887Sdim	u_int		sc_threads_dis;
43218887Sdim	bool		sc_attached;
44218887Sdim	bool		sc_running;
45218887Sdim	bool		sc_hatched;
46218887Sdim#ifdef MULTIPROCESSOR
47218887Sdim	struct pmap_tlb_info *sc_tlbinfo;
48218887Sdim#endif
49218887Sdim};
50218887Sdim
51218887Sdimstruct cpucore_attach_args {
52218887Sdim	const char     *ca_name;
53218887Sdim	int		ca_core;
54218887Sdim	int		ca_thread;
55218887Sdim};
56218887Sdim
57218887Sdim#ifdef _KERNEL
58218887Sdimvoid cpucore_rmixl_hatch(device_t);
59218887Sdimvoid cpucore_rmixl_run(device_t);
60218887Sdim#endif
61218887Sdim
62218887Sdim#endif	/* _ARCH_MIPS_RMI_RMIXL_CPUCOREVAR_H_ */
63218887Sdim