Linux Audio

Check our new training course

Loading...
v5.4
 1/* SPDX-License-Identifier: GPL-2.0-only */
 2/*
 3 *  linux/include/asm/setup.h
 4 *
 5 *  Copyright (C) 1997-1999 Russell King
 6 *
 
 
 
 
 7 *  Structure passed to kernel to tell it about the
 8 *  hardware it's running on.  See Documentation/arm/setup.rst
 9 *  for more info.
10 */
11#ifndef __ASMARM_SETUP_H
12#define __ASMARM_SETUP_H
13
14#include <uapi/asm/setup.h>
15
16
17#define __tag __used __attribute__((__section__(".taglist.init")))
18#define __tagtable(tag, fn) \
19static const struct tagtable __tagtable_##fn __tag = { tag, fn }
20
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
21extern int arm_add_memory(u64 start, u64 size);
22extern void early_print(const char *str, ...);
23extern void dump_machine_table(void);
24
25#ifdef CONFIG_ATAGS_PROC
26extern void save_atags(const struct tag *tags);
27#else
28static inline void save_atags(const struct tag *tags) { }
29#endif
30
31#endif
v3.15
 
 1/*
 2 *  linux/include/asm/setup.h
 3 *
 4 *  Copyright (C) 1997-1999 Russell King
 5 *
 6 * This program is free software; you can redistribute it and/or modify
 7 * it under the terms of the GNU General Public License version 2 as
 8 * published by the Free Software Foundation.
 9 *
10 *  Structure passed to kernel to tell it about the
11 *  hardware it's running on.  See Documentation/arm/Setup
12 *  for more info.
13 */
14#ifndef __ASMARM_SETUP_H
15#define __ASMARM_SETUP_H
16
17#include <uapi/asm/setup.h>
18
19
20#define __tag __used __attribute__((__section__(".taglist.init")))
21#define __tagtable(tag, fn) \
22static const struct tagtable __tagtable_##fn __tag = { tag, fn }
23
24/*
25 * Memory map description
26 */
27#define NR_BANKS	CONFIG_ARM_NR_BANKS
28
29struct membank {
30	phys_addr_t start;
31	phys_addr_t size;
32	unsigned int highmem;
33};
34
35struct meminfo {
36	int nr_banks;
37	struct membank bank[NR_BANKS];
38};
39
40extern struct meminfo meminfo;
41
42#define for_each_bank(iter,mi)				\
43	for (iter = 0; iter < (mi)->nr_banks; iter++)
44
45#define bank_pfn_start(bank)	__phys_to_pfn((bank)->start)
46#define bank_pfn_end(bank)	__phys_to_pfn((bank)->start + (bank)->size)
47#define bank_pfn_size(bank)	((bank)->size >> PAGE_SHIFT)
48#define bank_phys_start(bank)	(bank)->start
49#define bank_phys_end(bank)	((bank)->start + (bank)->size)
50#define bank_phys_size(bank)	(bank)->size
51
52extern int arm_add_memory(u64 start, u64 size);
53extern void early_print(const char *str, ...);
54extern void dump_machine_table(void);
 
 
 
 
 
 
55
56#endif