mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 10:40:15 +02:00 
			
		
		
		
	The setup_data is a bit awkward to use for extremely large data objects, both because the setup_data header has to be adjacent to the data object and because it has a 32-bit length field. However, it is important that intermediate stages of the boot process have a way to identify which chunks of memory are occupied by kernel data. Thus introduce an uniform way to specify such indirect data as setup_indirect struct and SETUP_INDIRECT type. And finally bump setup_header version in arch/x86/boot/header.S. Suggested-by: H. Peter Anvin (Intel) <hpa@zytor.com> Signed-off-by: Daniel Kiper <daniel.kiper@oracle.com> Signed-off-by: Borislav Petkov <bp@suse.de> Reviewed-by: Ross Philipson <ross.philipson@oracle.com> Reviewed-by: H. Peter Anvin (Intel) <hpa@zytor.com> Acked-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> Cc: Andy Lutomirski <luto@amacapital.net> Cc: ard.biesheuvel@linaro.org Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com> Cc: dave.hansen@linux.intel.com Cc: eric.snowberg@oracle.com Cc: Ingo Molnar <mingo@redhat.com> Cc: Jonathan Corbet <corbet@lwn.net> Cc: Juergen Gross <jgross@suse.com> Cc: kanth.ghatraju@oracle.com Cc: linux-doc@vger.kernel.org Cc: linux-efi <linux-efi@vger.kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: rdunlap@infradead.org Cc: ross.philipson@oracle.com Cc: Thomas Gleixner <tglx@linutronix.de> Cc: x86-ml <x86@kernel.org> Cc: xen-devel@lists.xenproject.org Link: https://lkml.kernel.org/r/20191112134640.16035-4-daniel.kiper@oracle.com
		
			
				
	
	
		
			22 lines
		
	
	
	
		
			478 B
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
			
		
		
	
	
			22 lines
		
	
	
	
		
			478 B
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
/* SPDX-License-Identifier: GPL-2.0 */
 | 
						|
 | 
						|
#include <asm/bootparam.h>
 | 
						|
 | 
						|
	.section ".rodata.kernel_info", "a"
 | 
						|
 | 
						|
	.global kernel_info
 | 
						|
 | 
						|
kernel_info:
 | 
						|
	/* Header, Linux top (structure). */
 | 
						|
	.ascii	"LToP"
 | 
						|
	/* Size. */
 | 
						|
	.long	kernel_info_var_len_data - kernel_info
 | 
						|
	/* Size total. */
 | 
						|
	.long	kernel_info_end - kernel_info
 | 
						|
 | 
						|
	/* Maximal allowed type for setup_data and setup_indirect structs. */
 | 
						|
	.long	SETUP_TYPE_MAX
 | 
						|
 | 
						|
kernel_info_var_len_data:
 | 
						|
	/* Empty for time being... */
 | 
						|
kernel_info_end:
 |