// Copyright 2016 The Fuchsia Authors
// Copyright (c) 2014-2016 Travis Geiselbrecht
//
// 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

#ifndef ZIRCON_KERNEL_INCLUDE_ARCH_MMU_H_
#define ZIRCON_KERNEL_INCLUDE_ARCH_MMU_H_

#include <arch.h>
#include <sys/types.h>
#include <zircon/compiler.h>

// forward declare the per-address space arch-specific context object
typedef struct arch_aspace arch_aspace_t;

#endif  // ZIRCON_KERNEL_INCLUDE_ARCH_MMU_H_
