as-layout.h (1434B)
1/* SPDX-License-Identifier: GPL-2.0 */ 2/* 3 * Copyright (C) 2007 Jeff Dike (jdike@{addtoit,linux.intel}.com) 4 */ 5 6#ifndef __START_H__ 7#define __START_H__ 8 9#include <generated/asm-offsets.h> 10 11/* 12 * Stolen from linux/const.h, which can't be directly included since 13 * this is used in userspace code, which has no access to the kernel 14 * headers. Changed to be suitable for adding casts to the start, 15 * rather than "UL" to the end. 16 */ 17 18/* Some constant macros are used in both assembler and 19 * C code. Therefore we cannot annotate them always with 20 * 'UL' and other type specifiers unilaterally. We 21 * use the following macros to deal with this. 22 */ 23#define STUB_START stub_start 24#define STUB_CODE STUB_START 25#define STUB_DATA (STUB_CODE + UM_KERN_PAGE_SIZE) 26#define STUB_END (STUB_DATA + UM_KERN_PAGE_SIZE) 27 28#ifndef __ASSEMBLY__ 29 30#include <sysdep/ptrace.h> 31 32struct cpu_task { 33 int pid; 34 void *task; 35}; 36 37extern struct cpu_task cpu_tasks[]; 38 39extern unsigned long high_physmem; 40extern unsigned long uml_physmem; 41extern unsigned long uml_reserved; 42extern unsigned long end_vm; 43extern unsigned long start_vm; 44extern unsigned long long highmem; 45 46extern unsigned long brk_start; 47 48extern unsigned long host_task_size; 49extern unsigned long stub_start; 50 51extern int linux_main(int argc, char **argv); 52extern void uml_finishsetup(void); 53 54struct siginfo; 55extern void (*sig_info[])(int, struct siginfo *si, struct uml_pt_regs *); 56 57#endif 58 59#endif