Mark Salter 
								
							 
						 
						
							
							
							
							
								
							
							
								c945ca75c3 
								
							 
						 
						
							
							
								
								Fix exit to EFI firmware  
							
							... 
							
							
							
							The current code for EFI grub_exit() calls grub_efi_fini() before
returning to firmware. In the case of ARM, this leaves a timer
event running which could lead to a firmware crash. This patch
changes this so that grub_machine_fini() is called with a NORETURN
flag. This allows machine-specific shutdown to happen as well
as the shutdown done by grub_efi_fini().
Signed-off-by: Mark Salter <msalter@redhat.com> 
							
						 
						
							2015-06-12 13:08:36 +03:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Leif Lindholm 
								
							 
						 
						
							
							
							
							
								
							
							
								d47e8ab4b9 
								
							 
						 
						
							
							
								
								dl_helper: Cleanup  
							
							... 
							
							
							
							Use the new thumb_get_instruction_word/thumb_set_instruction_word
helpers throughout.
Style cleanup (missing spaces).
Move Thumb MOVW/MOVT handlers into Thumb relocation section of file. 
							
						 
						
							2015-03-27 14:37:16 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Vladimir Serbinenko 
								
							 
						 
						
							
							
							
							
								
							
							
								064360e667 
								
							 
						 
						
							
							
								
								Remove libgcc dependency.  
							
							... 
							
							
							
							libgcc for boot environment isn't always present and compatible.
libgcc is often absent if endianness or bit-size at boot is different
from running OS.
libgcc may use optimised opcodes that aren't available on boot time.
So instead of relying on libgcc shipped with the compiler, supply
the functions in GRUB directly.
Tests are present to ensure that those replacement functions behave the
way compiler expects them to. 
							
						 
						
							2015-03-03 20:50:37 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Vladimir Serbinenko 
								
							 
						 
						
							
							
							
							
								
							
							
								38b7a30269 
								
							 
						 
						
							
							
								
								arm/dl: Fix handling of nonstandard relocation sizes  
							
							
							
						 
						
							2015-02-26 22:10:29 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Vladimir Serbinenko 
								
							 
						 
						
							
							
							
							
								
							
							
								f034fab620 
								
							 
						 
						
							
							
								
								Supply signed division to fix ARM compilation.  
							
							... 
							
							
							
							Previously we supplied only unsigned divisions on platforms that need software
division.
Yet compiler may itself use a signed division. A typical example would be a
difference between 2 pointers which involves division by object size. 
							
						 
						
							2015-02-23 04:12:04 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Leif Lindholm 
								
							 
						 
						
							
							
							
							
								
							
							
								c0f529ea67 
								
							 
						 
						
							
							
								
								arm: implement additional relocations generated by gcc 4.9 at -O3  
							
							... 
							
							
							
							GCC 4.9 also generates R_ARM_THM_MOVW_ABS_NC and R_ARM_THM_MOVT_ABS,
as an alternative to ABS32.
Signed-off-by: Leif Lindholm <leif.lindholm@linaro.org> 
							
						 
						
							2015-02-03 22:50:08 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									David Kozub 
								
							 
						 
						
							
							
							
							
								
							
							
								17328db3b3 
								
							 
						 
						
							
							
								
								grub-core/kern/arm/misc.S: fix unaligned grub_uint64_t local variable  
							
							... 
							
							
							
							The unaligned local in __aeabi_uidivmod leads to a store to a 64bit
value at an address that is not divisible by 8 (in grub_divmod64).
The compiler most likely generates a STRD instruction to store it and
this causes an exception.
Fixes Savannah bug #43632 .
This includes improvements done by Leif Lindholm. 
							
						 
						
							2014-12-07 20:16:29 +03:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Vladimir Serbinenko 
								
							 
						 
						
							
							
							
							
								
							
							
								5bda44d7f9 
								
							 
						 
						
							
							
								
								* grub-core/kern/arm/cache_armv6.S: Remove .arch directive.  
							
							... 
							
							
							
							As these functions are used on pre-ARMv6 CPUs as well we don't want
	to make assembler assume that architecture is higher than default one. 
							
						 
						
							2013-12-25 23:31:42 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Vladimir Serbinenko 
								
							 
						 
						
							
							
							
							
								
							
							
								bbc52c228f 
								
							 
						 
						
							
							
								
								Enable cache on ARM U-Boot port.  
							
							... 
							
							
							
							Without it the port is reidiculously slow. 
							
						 
						
							2013-12-23 05:01:58 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Vladimir Serbinenko 
								
							 
						 
						
							
							
							
							
								
							
							
								943981ff65 
								
							 
						 
						
							
							
								
								Fix ARM cache maintainance.  
							
							... 
							
							
							
							More code was converted from ASM to C for easier handling. 
							
						 
						
							2013-12-23 04:27:53 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Vladimir Serbinenko 
								
							 
						 
						
							
							
							
							
								
							
							
								adabfb5418 
								
							 
						 
						
							
							
								
								* grub-core/kern/arm/cache.c (grub_arm_disable_caches_mmu): Use v6  
							
							... 
							
							
							
							algorithm on v5.
	Suggested by: Leif Lindholm. 
							
						 
						
							2013-12-22 22:33:35 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Vladimir Serbinenko 
								
							 
						 
						
							
							
							
							
								
							
							
								74fa9417e5 
								
							 
						 
						
							
							
								
								* grub-core/kern/arm/dl.c: Remove unnecessarry execution mode check.  
							
							
							
						 
						
							2013-12-18 07:06:23 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Vladimir Serbinenko 
								
							 
						 
						
							
							
							
							
								
							
							
								d45067a290 
								
							 
						 
						
							
							
								
								Add explicit thumb interwork bx in asm files.  
							
							... 
							
							
							
							Shouldn't matter for armv >= 5 but let's be safe. 
							
						 
						
							2013-12-17 14:50:44 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Vladimir Serbinenko 
								
							 
						 
						
							
							
							
							
								
							
							
								8c534b85f1 
								
							 
						 
						
							
							
								
								Revamp relocation handling.  
							
							... 
							
							
							
							Move more code to common dl.c. Add missing veneers for arm and arm64.
	Decreases kernel size by 70 bytes on i386-pc (40-50 compressed) 
							
						 
						
							2013-12-06 09:18:55 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Vladimir Serbinenko 
								
							 
						 
						
							
							
							
							
								
							
							
								9ef81064a3 
								
							 
						 
						
							
							
								
								* grub-core/kern/arm/cache.S: Don't switch back to ARM mode when  
							
							... 
							
							
							
							compiling to thumb2.
	* grub-core/kern/arm/cache_armv7.S: Likewise.
	* grub-core/lib/arm/setjmp.S: Likewise. 
							
						 
						
							2013-11-16 17:37:06 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Leif Lindholm 
								
							 
						 
						
							
							
							
							
								
							
							
								11a7793221 
								
							 
						 
						
							
							
								
								arm: delete superflouous save of r8 in grub_uboot_syscall  
							
							
							
						 
						
							2013-11-16 15:56:09 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Leif Lindholm 
								
							 
						 
						
							
							
							
							
								
							
							
								593865b907 
								
							 
						 
						
							
							
								
								arm: fix u-boot port syscall interface va_arg handling  
							
							... 
							
							
							
							Commit c9cd02c 
							
						 
						
							2013-11-16 14:12:12 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Vladimir Serbinenko 
								
							 
						 
						
							
							
							
							
								
							
							
								57ffe93485 
								
							 
						 
						
							
							
								
								* grub-core/kern/arm/cache_armv6.S: Remove special handling for  
							
							... 
							
							
							
							clang (not necessarry with -no-integrated-as).
	* include/grub/symbol.h [__arm__]: Likewise. 
							
						 
						
							2013-11-14 10:05:19 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Leif Lindholm 
								
							 
						 
						
							
							
							
							
								
							
							
								035a26c16a 
								
							 
						 
						
							
							
								
								* grub-core/kern/arm/misc.S: Make thumb2-compatible.  
							
							
							
						 
						
							2013-11-14 01:33:06 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Vladimir Serbinenko 
								
							 
						 
						
							
							
							
							
								
							
							
								2bdd07195c 
								
							 
						 
						
							
							
								
								* grub-core/kern/arm/cache.c (probe_caches): Move asm part to ...  
							
							... 
							
							
							
							* grub-core/kern/arm/cache_armv6.S: ... here. This allows this
	asm to stay in arm even if surrounding is thumb. 
							
						 
						
							2013-11-13 09:58:52 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Vladimir Serbinenko 
								
							 
						 
						
							
							
							
							
								
							
							
								5e77d9cfc1 
								
							 
						 
						
							
							
								
								* grub-core/kern/arm/misc.S: Add __muldi3 and __aeabi_lmul. Those  
							
							... 
							
							
							
							helper functions are needed for thumb. 
							
						 
						
							2013-11-13 09:52:33 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Vladimir Serbinenko 
								
							 
						 
						
							
							
							
							
								
							
							
								c9cd02c965 
								
							 
						 
						
							
							
								
								* grub-core/kern/arm/uboot/startup.S: Remove = by replacing with  
							
							... 
							
							
							
							literal load.
	(grub_uboot_syscall): Save/restore r9 and align stack. 
							
						 
						
							2013-11-13 06:27:03 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Vladimir Serbinenko 
								
							 
						 
						
							
							
							
							
								
							
							
								8149861554 
								
							 
						 
						
							
							
								
								* grub-core/kern/arm/cache.S: Replace = with explicit litteral load.  
							
							
							
						 
						
							2013-11-13 06:23:32 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Vladimir Serbinenko 
								
							 
						 
						
							
							
							
							
								
							
							
								ea57de18f8 
								
							 
						 
						
							
							
								
								* include/grub/symbol.h (END) [__arm__]: New macros. Replace all .end  
							
							... 
							
							
							
							occurencies with END. 
							
						 
						
							2013-11-13 05:19:30 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Vladimir Serbinenko 
								
							 
						 
						
							
							
							
							
								
							
							
								c773faf05e 
								
							 
						 
						
							
							
								
								Revert "	* include/grub/symbol.h (ADDR): New macro. Replace all occurences of"  
							
							... 
							
							
							
							This reverts commit 286551b4eb 
							
						 
						
							2013-11-13 02:17:20 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Vladimir Serbinenko 
								
							 
						 
						
							
							
							
							
								
							
							
								513eeb61dd 
								
							 
						 
						
							
							
								
								* grub-core/kern/arm/cache_armv6.S [__clang__]: Don't add .armv6 when  
							
							... 
							
							
							
							compiling with clang. 
							
						 
						
							2013-11-13 01:08:47 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Vladimir Serbinenko 
								
							 
						 
						
							
							
							
							
								
							
							
								bc379c1aa1 
								
							 
						 
						
							
							
								
								* grub-core/kern/arm/uboot/startup.S: Use .org rather than assigning  
							
							... 
							
							
							
							".". 
							
						 
						
							2013-11-13 01:06:30 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Vladimir Serbinenko 
								
							 
						 
						
							
							
							
							
								
							
							
								286551b4eb 
								
							 
						 
						
							
							
								
								* include/grub/symbol.h (ADDR): New macro. Replace all occurences of  
							
							... 
							
							
							
							=x with ADDR(x) in arm assembly.
	(END): New macro. Replace all .end with END. 
							
						 
						
							2013-11-13 01:04:56 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Vladimir Serbinenko 
								
							 
						 
						
							
							
							
							
								
							
							
								16057d6bbb 
								
							 
						 
						
							
							
								
								Redirect all divisions to grub_divmod64.  
							
							
							
						 
						
							2013-11-13 00:53:53 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Vladimir Serbinenko 
								
							 
						 
						
							
							
							
							
								
							
							
								ef28ee8bc1 
								
							 
						 
						
							
							
								
								Add missing includes of loader.h.  
							
							
							
						 
						
							2013-11-13 00:43:03 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Vladimir Serbinenko 
								
							 
						 
						
							
							
							
							
								
							
							
								33690255c5 
								
							 
						 
						
							
							
								
								Fix grub_machine_fini bitrot.  
							
							... 
							
							
							
							Reported by: Glenn Washburn. 
							
						 
						
							2013-11-10 13:33:26 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Vladimir Serbinenko 
								
							 
						 
						
							
							
							
							
								
							
							
								e0a7bffa1e 
								
							 
						 
						
							
							
								
								* grub-core/kern/arm/misc.S (__aeabi_unwind_cpp_pr0): Add dummy to  
							
							... 
							
							
							
							link with libgcc. 
							
						 
						
							2013-11-08 07:35:13 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Vladimir 'phcoder' Serbinenko 
								
							 
						 
						
							
							
							
							
								
							
							
								ff2d4dc41c 
								
							 
						 
						
							
							
								
								* grub-core/kern/arm/dl_helper.c: Use more proper %p for pointer.  
							
							
							
						 
						
							2013-10-12 07:50:26 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Vladimir 'phcoder' Serbinenko 
								
							 
						 
						
							
							
							
							
								
							
							
								29072e994e 
								
							 
						 
						
							
							
								
								* grub-core/kern/arm/misc.S: Remove leftover ARM and THUMB.  
							
							
							
						 
						
							2013-10-08 17:03:19 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Vladimir 'phcoder' Serbinenko 
								
							 
						 
						
							
							
							
							
								
							
							
								a5f6ade676 
								
							 
						 
						
							
							
								
								* grub-core/kern/arm/efi/startup.S: Remove thumb leftover.  
							
							
							
						 
						
							2013-10-07 20:04:54 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Vladimir 'phcoder' Serbinenko 
								
							 
						 
						
							
							
							
							
								
							
							
								3b0f3aa2a7 
								
							 
						 
						
							
							
								
								* grub-core/kern/arm/efi/init.c: Rewrite timer fucntion.  
							
							
							
						 
						
							2013-10-07 19:23:14 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Vladimir 'phcoder' Serbinenko 
								
							 
						 
						
							
							
							
							
								
							
							
								c7c177f07f 
								
							 
						 
						
							
							
								
								* grub-core/kern/arm/dl.c (do_relocations): Accept and ignore  
							
							... 
							
							
							
							R_ARM_V4BX. 
							
						 
						
							2013-10-03 23:55:06 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Vladimir 'phcoder' Serbinenko 
								
							 
						 
						
							
							
							
							
								
							
							
								17c8bc378f 
								
							 
						 
						
							
							
								
								* grub-core/kern/arm/cache.c: Add v5 write-through cache support.  
							
							
							
						 
						
							2013-10-03 23:29:57 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Leif Lindholm 
								
							 
						 
						
							
							
							
							
								
							
							
								e70d6736ff 
								
							 
						 
						
							
							
								
								* kern/arm/cache.S: Correct access to ilinesz/dlinesz variables.  
							
							... 
							
							
							
							Clean up stack manipulation (sync_caches_armv*) 
							
						 
						
							2013-09-19 09:21:24 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Francesco Lavra 
								
							 
						 
						
							
							
							
							
								
							
							
								d60c9a81ac 
								
							 
						 
						
							
							
								
								Fix ARM cpuid probing  
							
							
							
						 
						
							2013-06-07 16:56:24 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Vladimir 'phcoder' Serbinenko 
								
							 
						 
						
							
							
							
							
								
							
							
								470038745c 
								
							 
						 
						
							
							
								
								Fix a bug and stick nearer to the specification, introduce armv6_unified.  
							
							
							
						 
						
							2013-05-17 13:05:28 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Vladimir 'phcoder' Serbinenko 
								
							 
						 
						
							
							
							
							
								
							
							
								390df92f0b 
								
							 
						 
						
							
							
								
								Detect cache type on runtime rather than compile time  
							
							
							
						 
						
							2013-05-17 01:33:22 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Leif Lindholm 
								
							 
						 
						
							
							
							
							
								
							
							
								c59fe1d776 
								
							 
						 
						
							
							
								
								Leif's BSS fix  
							
							
							
						 
						
							2013-05-16 16:30:41 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Leif Lindholm 
								
							 
						 
						
							
							
							
							
								
							
							
								72a21cf09b 
								
							 
						 
						
							
							
								
								Leif's ARMv6 cache support  
							
							
							
						 
						
							2013-05-16 16:23:31 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Vladimir 'phcoder' Serbinenko 
								
							 
						 
						
							
							
							
							
								
							
							
								5bac5d9ad6 
								
							 
						 
						
							
							
								
								* grub-core/partmap/dfly.c: New partition map.  
							
							
							
						 
						
							2013-05-16 16:18:37 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Leif Lindholm 
								
							 
						 
						
							
							
							
							
								
							
							
								854f383c28 
								
							 
						 
						
							
							
								
								Move common function to dl_helper.c  
							
							
							
						 
						
							2013-05-11 10:42:11 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Leif Lindholm 
								
							 
						 
						
							
							
							
							
								
							
							
								b385e0723b 
								
							 
						 
						
							
							
								
								Leif's API fixes  
							
							
							
						 
						
							2013-05-03 15:07:39 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Leif Lindholm 
								
							 
						 
						
							
							
							
							
								
							
							
								bb9f92b9b1 
								
							 
						 
						
							
							
								
								Leif's build fixes  
							
							
							
						 
						
							2013-05-03 14:41:08 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Vladimir 'phcoder' Serbinenko 
								
							 
						 
						
							
							
							
							
								
							
							
								28af3d867c 
								
							 
						 
						
							
							
								
								Relocations cleanup  
							
							
							
						 
						
							2013-04-12 16:53:58 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Vladimir 'phcoder' Serbinenko 
								
							 
						 
						
							
							
							
							
								
							
							
								b624c94856 
								
							 
						 
						
							
							
								
								Simplify init assembly  
							
							
							
						 
						
							2013-04-12 16:50:58 +02:00