mirror of https://gitee.com/openkylin/linux.git
Microblaze patches for 5.12-rc1
- Fix DTB alignment - Remove < GCC 4 support - Remove TRACING_SUPPORT selection -----BEGIN PGP SIGNATURE----- iF0EABECAB0WIQQbPNTMvXmYlBPRwx7KSWXLKUoMIQUCYDUOpQAKCRDKSWXLKUoM IXV5AJwLYpmRfG1q4n4Vz4t8Zxonajws4wCfRwxSKSGIYUh5oagjpVohEfptq1M= =TtkZ -----END PGP SIGNATURE----- Merge tag 'microblaze-v5.12' of git://git.monstr.eu/linux-2.6-microblaze Pull microblaze updates from Michal Simek: - Fix DTB alignment - Remove code for very old GCC versions - Remove TRACING_SUPPORT selection * tag 'microblaze-v5.12' of git://git.monstr.eu/linux-2.6-microblaze: microblaze: Fix built-in DTB alignment to be 8-byte aligned microblaze: Remove support for gcc < 4 microblaze: do not select TRACING_SUPPORT directly
This commit is contained in:
commit
74268693e0
|
@ -38,7 +38,6 @@ config MICROBLAZE
|
||||||
select OF_EARLY_FLATTREE
|
select OF_EARLY_FLATTREE
|
||||||
select PCI_DOMAINS_GENERIC if PCI
|
select PCI_DOMAINS_GENERIC if PCI
|
||||||
select PCI_SYSCALL if PCI
|
select PCI_SYSCALL if PCI
|
||||||
select TRACING_SUPPORT
|
|
||||||
select VIRT_TO_BUS
|
select VIRT_TO_BUS
|
||||||
select CPU_NO_EFFICIENT_FFS
|
select CPU_NO_EFFICIENT_FFS
|
||||||
select MMU_GATHER_NO_RANGE
|
select MMU_GATHER_NO_RANGE
|
||||||
|
|
|
@ -24,9 +24,6 @@ int apply_relocate_add(Elf32_Shdr *sechdrs, const char *strtab,
|
||||||
Elf32_Sym *sym;
|
Elf32_Sym *sym;
|
||||||
unsigned long int *location;
|
unsigned long int *location;
|
||||||
unsigned long int value;
|
unsigned long int value;
|
||||||
#if __GNUC__ < 4
|
|
||||||
unsigned long int old_value;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
pr_debug("Applying add relocation section %u to %u\n",
|
pr_debug("Applying add relocation section %u to %u\n",
|
||||||
relsec, sechdrs[relsec].sh_info);
|
relsec, sechdrs[relsec].sh_info);
|
||||||
|
@ -49,40 +46,17 @@ int apply_relocate_add(Elf32_Shdr *sechdrs, const char *strtab,
|
||||||
*/
|
*/
|
||||||
|
|
||||||
case R_MICROBLAZE_32:
|
case R_MICROBLAZE_32:
|
||||||
#if __GNUC__ < 4
|
|
||||||
old_value = *location;
|
|
||||||
*location = value + old_value;
|
|
||||||
|
|
||||||
pr_debug("R_MICROBLAZE_32 (%08lx->%08lx)\n",
|
|
||||||
old_value, value);
|
|
||||||
#else
|
|
||||||
*location = value;
|
*location = value;
|
||||||
#endif
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case R_MICROBLAZE_64:
|
case R_MICROBLAZE_64:
|
||||||
#if __GNUC__ < 4
|
|
||||||
/* Split relocs only required/used pre gcc4.1.1 */
|
|
||||||
old_value = ((location[0] & 0x0000FFFF) << 16) |
|
|
||||||
(location[1] & 0x0000FFFF);
|
|
||||||
value += old_value;
|
|
||||||
#endif
|
|
||||||
location[0] = (location[0] & 0xFFFF0000) |
|
location[0] = (location[0] & 0xFFFF0000) |
|
||||||
(value >> 16);
|
(value >> 16);
|
||||||
location[1] = (location[1] & 0xFFFF0000) |
|
location[1] = (location[1] & 0xFFFF0000) |
|
||||||
(value & 0xFFFF);
|
(value & 0xFFFF);
|
||||||
#if __GNUC__ < 4
|
|
||||||
pr_debug("R_MICROBLAZE_64 (%08lx->%08lx)\n",
|
|
||||||
old_value, value);
|
|
||||||
#endif
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case R_MICROBLAZE_64_PCREL:
|
case R_MICROBLAZE_64_PCREL:
|
||||||
#if __GNUC__ < 4
|
|
||||||
old_value = (location[0] & 0xFFFF) << 16 |
|
|
||||||
(location[1] & 0xFFFF);
|
|
||||||
value -= old_value;
|
|
||||||
#endif
|
|
||||||
value -= (unsigned long int)(location) + 4;
|
value -= (unsigned long int)(location) + 4;
|
||||||
location[0] = (location[0] & 0xFFFF0000) |
|
location[0] = (location[0] & 0xFFFF0000) |
|
||||||
(value >> 16);
|
(value >> 16);
|
||||||
|
|
|
@ -45,7 +45,7 @@ SECTIONS {
|
||||||
_etext = . ;
|
_etext = . ;
|
||||||
}
|
}
|
||||||
|
|
||||||
. = ALIGN (4) ;
|
. = ALIGN (8) ;
|
||||||
__fdt_blob : AT(ADDR(__fdt_blob) - LOAD_OFFSET) {
|
__fdt_blob : AT(ADDR(__fdt_blob) - LOAD_OFFSET) {
|
||||||
_fdt_start = . ; /* place for fdt blob */
|
_fdt_start = . ; /* place for fdt blob */
|
||||||
*(__fdt_blob) ; /* Any link-placed DTB */
|
*(__fdt_blob) ; /* Any link-placed DTB */
|
||||||
|
|
Loading…
Reference in New Issue