blob: c8afb2493f8d073dfe134be7c527d58560b57517 [file] [log] [blame]
#ifndef _ASMARM_SETUP_H_
#define _ASMARM_SETUP_H_
/*
* Copyright (C) 2014, Red Hat Inc, Andrew Jones <drjones@redhat.com>
*
* This work is licensed under the terms of the GNU LGPL, version 2.
*/
#include <libcflat.h>
#include <asm/page.h>
#include <asm/pgtable-hwdef.h>
#define NR_CPUS 511
extern u64 cpus[NR_CPUS]; /* per-cpu IDs (MPIDRs) */
extern int nr_cpus;
#define MR_F_PRIMARY (1U << 0)
#define MR_F_IO (1U << 1)
#define MR_F_UNKNOWN (1U << 31)
struct mem_region {
phys_addr_t start;
phys_addr_t end;
unsigned int flags;
};
extern struct mem_region *mem_regions;
extern phys_addr_t __phys_offset, __phys_end;
extern unsigned int mem_region_get_flags(phys_addr_t paddr);
#define PHYS_OFFSET (__phys_offset)
#define PHYS_END (__phys_end)
#define L1_CACHE_SHIFT 6
#define L1_CACHE_BYTES (1 << L1_CACHE_SHIFT)
#define SMP_CACHE_BYTES L1_CACHE_BYTES
void setup(const void *fdt);
#endif /* _ASMARM_SETUP_H_ */