1/**
2 * \file
3 * \brief A struct for all shared data between the kernels
4 */
5
6/*
7 * Copyright (c) 2008, 2010 ETH Zurich
8 * All rights reserved.
9 *
10 * This file is distributed under the terms in the attached LICENSE file.
11 * If you do not find this file, copies can be found by writing to:
12 * ETH Zurich D-INFK, Haldeneggsteig 4, CH-8092 Zurich. Attn: Systems Group.
13 */
14
15
16#ifndef KERNEL_ARCH_AARCH64_GLOBAL_H
17#define KERNEL_ARCH_AARCH64_GLOBAL_H
18
19#include <barrelfish_kpi/spinlocks_arch.h>
20#include <barrelfish_kpi/types.h>
21
22/**
23 * \brief Struct passed to app_cores during boot.
24 * Contains information that the bsp_kernel wants to pass to the app_kernels.
25 */
26struct global {
27    /// Shared locks between the kernels
28    struct {
29        spinlock_t print;       ///< Lock for printing
30    } locks;
31
32    uint32_t tickspersec;
33
34    genpaddr_t notify[MAX_COREID];
35};
36
37extern struct global *global;
38
39// XXX: check this
40#define GLOBAL_VBASE	0x21000
41
42#endif
43