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, Universitaetstrasse 6, CH-8092 Zurich. Attn: Systems Group. 13 */ 14 15 16#ifndef KERNEL_ARCH_X86_GLOBAL_H 17#define KERNEL_ARCH_X86_GLOBAL_H 18 19#include <barrelfish_kpi/spinlocks_arch.h> 20 21/** 22 * \brief Struct passed to app_cores during boot. 23 * Contains information that the bsp_kernel wants to pass to the app_kernels. 24 */ 25struct global { 26 /// Shared locks between the kernels 27 struct { 28 spinlock_t print; ///< Lock for printing 29 } locks; 30 31 uint32_t apic_frequency; 32 systime_t systime_frequency; 33 34 uint64_t padding[64]; 35 volatile uint64_t wait[8]; 36 bool started_once; 37 38 genpaddr_t notify[MAX_COREID]; 39}; 40 41extern struct global *global; 42 43#endif 44