1/*
2 * Copyright 2014, General Dynamics C4 Systems
3 *
4 * This software may be distributed and modified according to the terms of
5 * the GNU General Public License version 2. Note that NO WARRANTY is provided.
6 * See "LICENSE_GPLv2.txt" for details.
7 *
8 * @TAG(GD_GPL)
9 */
10
11#ifndef __MACHINE_H
12#define __MACHINE_H
13
14#include <plat/machine.h>
15#include <machine/registerset.h>
16
17#include <mode/machine.h>
18#include <plat/machine/hardware.h>
19
20static inline void* CONST
21ptrFromPAddr(paddr_t paddr)
22{
23    return (void*)(paddr + BASE_OFFSET);
24}
25
26static inline paddr_t CONST
27addrFromPPtr(void* pptr)
28{
29    return (paddr_t)pptr - BASE_OFFSET;
30}
31
32static inline region_t CONST
33paddr_to_pptr_reg(p_region_t p_reg)
34{
35    return (region_t) {
36        p_reg.start + BASE_OFFSET, p_reg.end + BASE_OFFSET
37    };
38}
39
40static inline p_region_t CONST
41pptr_to_paddr_reg(region_t reg)
42{
43    return (p_region_t) {
44        reg.start - BASE_OFFSET, reg.end - BASE_OFFSET
45    };
46}
47
48#define paddr_to_pptr ptrFromPAddr
49#define pptr_to_paddr(x) addrFromPPtr(x)
50
51#endif
52