blob: 5770f1a22a2aeed7f36c51b6981bf7237fa5f0bb [file] [log] [blame]
// Copyright 2016 The Fuchsia Authors
// Copyright (c) 2009 Corey Tabaka
//
// Use of this source code is governed by a MIT-style
// license that can be found in the LICENSE file or at
// https://opensource.org/licenses/MIT
#pragma once
#include <lib/cbuf.h>
#include <sys/types.h>
#include <zircon/compiler.h>
#include <zircon/types.h>
extern cbuf_t console_input_buf;
__BEGIN_CDECLS
/* Do not use anything above this address for PCIe stuff. A bunch of
* architectural devices often occupy this area */
#define HIGH_ADDRESS_LIMIT 0xfec00000
extern paddr_t pcie_mem_lo_base;
extern size_t pcie_mem_lo_size;
extern uint16_t pcie_pio_base;
extern uint16_t pcie_pio_size;
void pc_init_debug_default_early(void);
void pc_init_debug_early(void);
void pc_init_debug(void);
void pc_init_timer_percpu(void);
void pc_mem_init(void);
void pc_prep_suspend_timer(void);
void pc_resume_timer(void);
void pc_resume_debug(void);
void pc_suspend_debug(void);
typedef void (*enumerate_e820_callback)(uint64_t base, uint64_t size, bool is_mem, void* ctx);
zx_status_t enumerate_e820(enumerate_e820_callback callback, void* ctx);
__END_CDECLS