Chapter3++
This commit is contained in:
		
							parent
							
								
									cea63459a8
								
							
						
					
					
						commit
						8d1dca5eec
					
				
					 1 changed files with 14 additions and 0 deletions
				
			
		| 
						 | 
				
			
			@ -169,3 +169,17 @@ How exec works
 | 
			
		|||
     `loadseg` uses `walkaddr` to find the phy@ of the allocated memory at which to write ELF segments
 | 
			
		||||
 | 
			
		||||
To read sections from a binary: objdump -p file
 | 
			
		||||
 | 
			
		||||
DEVICE TREE (devicetree, DT or DTB for device tree blob or even Flattened Devicetree Blob)
 | 
			
		||||
  => file representing the hardware so the kernel can initialize devices and provide them to the users.
 | 
			
		||||
 | 
			
		||||
Before DTs:
 | 
			
		||||
  hardware was either hardcoded (with each system-on-chip being listed and their devices enumerated) or
 | 
			
		||||
  detected with A LOT OF plateform-specific features such as BIOS, EFI, ACPI, etc.
 | 
			
		||||
 | 
			
		||||
DTs are an improvement over ACPI since ACPI isn't properly standardized and implementations are often buggy.
 | 
			
		||||
 | 
			
		||||
IN QEMU: this file can be created by QEMU and loaded by a bootloader somewhere in RAM, or provided to qemu.
 | 
			
		||||
IN REAL LIFE: this file may be generated statically then loaded by the
 | 
			
		||||
bootloader (or EFI?) in RAM then the address is provided to the kernel.
 | 
			
		||||
Real kernels will get their configuration from different sources anyway.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		
		Reference in a new issue