Commit 66b1f1a9 authored by Linus Torvalds's avatar Linus Torvalds

Merge branch 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/cooloney/blackfin-2.6

* 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/cooloney/blackfin-2.6:
  Blackfin arch: fix PORT_J BUG for BF537/6 EMAC driver reported by Kalle Pokki <kalle.pokki@iki.fi>
  Blackfin arch: gpio pinmux and resource allocation API required by BF537 on chip ethernet mac driver
  Blackfin arch: add some missing syscall
  binfmt_flat: checkpatch fixing minimum support for the blackfin relocations
  Binfmt_flat: Add minimum support for the Blackfin relocations
parents bda0233b cda6a20b
This diff is collapsed.
...@@ -815,7 +815,7 @@ _extable: ...@@ -815,7 +815,7 @@ _extable:
ALIGN ALIGN
ENTRY(_sys_call_table) ENTRY(_sys_call_table)
.long _sys_ni_syscall /* 0 - old "setup()" system call*/ .long _sys_restart_syscall /* 0 */
.long _sys_exit .long _sys_exit
.long _sys_fork .long _sys_fork
.long _sys_read .long _sys_read
...@@ -978,13 +978,13 @@ ENTRY(_sys_call_table) ...@@ -978,13 +978,13 @@ ENTRY(_sys_call_table)
.long _sys_sched_get_priority_min /* 160 */ .long _sys_sched_get_priority_min /* 160 */
.long _sys_sched_rr_get_interval .long _sys_sched_rr_get_interval
.long _sys_nanosleep .long _sys_nanosleep
.long _sys_ni_syscall /* sys_mremap */ .long _sys_mremap
.long _sys_setresuid /* setresuid16 */ .long _sys_setresuid /* setresuid16 */
.long _sys_getresuid /* getresuid16 */ /* 165 */ .long _sys_getresuid /* getresuid16 */ /* 165 */
.long _sys_ni_syscall /* for vm86 */ .long _sys_ni_syscall /* for vm86 */
.long _sys_ni_syscall /* old "query_module" */ .long _sys_ni_syscall /* old "query_module" */
.long _sys_ni_syscall /* sys_poll */ .long _sys_ni_syscall /* sys_poll */
.long _sys_ni_syscall /* sys_nfsservctl */ .long _sys_nfsservctl
.long _sys_setresgid /* setresgid16 */ /* 170 */ .long _sys_setresgid /* setresgid16 */ /* 170 */
.long _sys_getresgid /* getresgid16 */ .long _sys_getresgid /* getresgid16 */
.long _sys_prctl .long _sys_prctl
...@@ -1040,7 +1040,7 @@ ENTRY(_sys_call_table) ...@@ -1040,7 +1040,7 @@ ENTRY(_sys_call_table)
.long _sys_ni_syscall /* reserved for TUX */ .long _sys_ni_syscall /* reserved for TUX */
.long _sys_ni_syscall .long _sys_ni_syscall
.long _sys_gettid .long _sys_gettid
.long _sys_ni_syscall /* 225 */ /* sys_readahead */ .long _sys_readahead /* 225 */
.long _sys_setxattr .long _sys_setxattr
.long _sys_lsetxattr .long _sys_lsetxattr
.long _sys_fsetxattr .long _sys_fsetxattr
...@@ -1157,6 +1157,21 @@ ENTRY(_sys_call_table) ...@@ -1157,6 +1157,21 @@ ENTRY(_sys_call_table)
.long _sys_shmctl .long _sys_shmctl
.long _sys_shmdt /* 340 */ .long _sys_shmdt /* 340 */
.long _sys_shmget .long _sys_shmget
.long _sys_splice
.long _sys_sync_file_range
.long _sys_tee
.long _sys_vmsplice /* 345 */
.long _sys_epoll_pwait
.long _sys_utimensat
.long _sys_signalfd
.long _sys_timerfd
.long _sys_eventfd /* 350 */
.long _sys_pread64
.long _sys_pwrite64
.long _sys_fadvise64
.long _sys_set_robust_list
.long _sys_get_robust_list /* 355 */
.long _sys_fallocate
.rept NR_syscalls-(.-_sys_call_table)/4 .rept NR_syscalls-(.-_sys_call_table)/4
.long _sys_ni_syscall .long _sys_ni_syscall
.endr .endr
......
...@@ -742,6 +742,7 @@ static int load_flat_file(struct linux_binprm * bprm, ...@@ -742,6 +742,7 @@ static int load_flat_file(struct linux_binprm * bprm,
* __start to address 4 so that is okay). * __start to address 4 so that is okay).
*/ */
if (rev > OLD_FLAT_VERSION) { if (rev > OLD_FLAT_VERSION) {
unsigned long persistent = 0;
for (i=0; i < relocs; i++) { for (i=0; i < relocs; i++) {
unsigned long addr, relval; unsigned long addr, relval;
...@@ -749,6 +750,8 @@ static int load_flat_file(struct linux_binprm * bprm, ...@@ -749,6 +750,8 @@ static int load_flat_file(struct linux_binprm * bprm,
relocated (of course, the address has to be relocated (of course, the address has to be
relocated first). */ relocated first). */
relval = ntohl(reloc[i]); relval = ntohl(reloc[i]);
if (flat_set_persistent (relval, &persistent))
continue;
addr = flat_get_relocate_addr(relval); addr = flat_get_relocate_addr(relval);
rp = (unsigned long *) calc_reloc(addr, libinfo, id, 1); rp = (unsigned long *) calc_reloc(addr, libinfo, id, 1);
if (rp == (unsigned long *)RELOC_FAILED) { if (rp == (unsigned long *)RELOC_FAILED) {
...@@ -757,7 +760,8 @@ static int load_flat_file(struct linux_binprm * bprm, ...@@ -757,7 +760,8 @@ static int load_flat_file(struct linux_binprm * bprm,
} }
/* Get the pointer's value. */ /* Get the pointer's value. */
addr = flat_get_addr_from_rp(rp, relval, flags); addr = flat_get_addr_from_rp(rp, relval, flags,
&persistent);
if (addr != 0) { if (addr != 0) {
/* /*
* Do the relocation. PIC relocs in the data section are * Do the relocation. PIC relocs in the data section are
......
#include <linux/serial.h> #include <linux/serial.h>
#include <asm/dma.h> #include <asm/dma.h>
#include <asm/portmux.h>
#define NR_PORTS 1 #define NR_PORTS 1
...@@ -92,18 +93,24 @@ struct bfin_serial_res bfin_serial_resource[] = { ...@@ -92,18 +93,24 @@ struct bfin_serial_res bfin_serial_resource[] = {
} }
}; };
#define DRIVER_NAME "bfin-uart"
int nr_ports = NR_PORTS; int nr_ports = NR_PORTS;
static void bfin_serial_hw_init(struct bfin_serial_port *uart) static void bfin_serial_hw_init(struct bfin_serial_port *uart)
{ {
#ifdef CONFIG_SERIAL_BFIN_UART0
peripheral_request(P_UART0_TX, DRIVER_NAME);
peripheral_request(P_UART0_RX, DRIVER_NAME);
#endif
#ifdef CONFIG_SERIAL_BFIN_CTSRTS #ifdef CONFIG_SERIAL_BFIN_CTSRTS
if (uart->cts_pin >= 0) { if (uart->cts_pin >= 0) {
gpio_request(uart->cts_pin, NULL); gpio_request(uart->cts_pin, DRIVER_NAME);
gpio_direction_input(uart->cts_pin); gpio_direction_input(uart->cts_pin);
} }
if (uart->rts_pin >= 0) { if (uart->rts_pin >= 0) {
gpio_request(uart->rts_pin, NULL); gpio_request(uart->rts_pin, DRIVER_NAME);
gpio_direction_input(uart->rts_pin); gpio_direction_input(uart->rts_pin);
} }
#endif #endif
......
#include <linux/serial.h> #include <linux/serial.h>
#include <asm/dma.h> #include <asm/dma.h>
#include <asm/portmux.h>
#define NR_PORTS 2 #define NR_PORTS 2
...@@ -122,25 +123,29 @@ struct bfin_serial_res bfin_serial_resource[] = { ...@@ -122,25 +123,29 @@ struct bfin_serial_res bfin_serial_resource[] = {
int nr_ports = ARRAY_SIZE(bfin_serial_resource); int nr_ports = ARRAY_SIZE(bfin_serial_resource);
#define DRIVER_NAME "bfin-uart"
static void bfin_serial_hw_init(struct bfin_serial_port *uart) static void bfin_serial_hw_init(struct bfin_serial_port *uart)
{ {
unsigned short val;
val = bfin_read16(BFIN_PORT_MUX);
val &= ~(PFDE | PFTE);
bfin_write16(BFIN_PORT_MUX, val);
val = bfin_read16(PORTF_FER); #ifdef CONFIG_SERIAL_BFIN_UART0
val |= 0xF; peripheral_request(P_UART0_TX, DRIVER_NAME);
bfin_write16(PORTF_FER, val); peripheral_request(P_UART0_RX, DRIVER_NAME);
#endif
#ifdef CONFIG_SERIAL_BFIN_UART1
peripheral_request(P_UART1_TX, DRIVER_NAME);
peripheral_request(P_UART1_RX, DRIVER_NAME);
#endif
#ifdef CONFIG_SERIAL_BFIN_CTSRTS #ifdef CONFIG_SERIAL_BFIN_CTSRTS
if (uart->cts_pin >= 0) { if (uart->cts_pin >= 0) {
gpio_request(uart->cts_pin, NULL); gpio_request(uart->cts_pin, DRIVER_NAME);
gpio_direction_input(uart->cts_pin); gpio_direction_input(uart->cts_pin);
} }
if (uart->rts_pin >= 0) { if (uart->rts_pin >= 0) {
gpio_request(uart->rts_pin, NULL); gpio_request(uart->rts_pin, DRIVER_NAME);
gpio_direction_output(uart->rts_pin); gpio_direction_output(uart->rts_pin);
} }
#endif #endif
......
...@@ -106,4 +106,37 @@ ...@@ -106,4 +106,37 @@
#define P_SPI0_SSEL2 (P_DEFINED | P_IDENT(PORT_PJ11) | P_FUNCT(1)) #define P_SPI0_SSEL2 (P_DEFINED | P_IDENT(PORT_PJ11) | P_FUNCT(1))
#define P_SPI0_SSEL7 (P_DEFINED | P_IDENT(PORT_PJ5) | P_FUNCT(2)) #define P_SPI0_SSEL7 (P_DEFINED | P_IDENT(PORT_PJ5) | P_FUNCT(2))
#endif /* _MACH_PORTMUX_H_ */ #define P_MII0 {\
P_MII0_ETxD0, \
P_MII0_ETxD1, \
P_MII0_ETxD2, \
P_MII0_ETxD3, \
P_MII0_ETxEN, \
P_MII0_TxCLK, \
P_MII0_PHYINT, \
P_MII0_COL, \
P_MII0_ERxD0, \
P_MII0_ERxD1, \
P_MII0_ERxD2, \
P_MII0_ERxD3, \
P_MII0_ERxDV, \
P_MII0_ERxCLK, \
P_MII0_ERxER, \
P_MII0_CRS, \
P_MDC, \
P_MDIO, 0}
#define P_RMII0 {\
P_MII0_ETxD0, \
P_MII0_ETxD1, \
P_MII0_ETxEN, \
P_MII0_ERxD0, \
P_MII0_ERxD1, \
P_MII0_ERxER, \
P_RMII0_REF_CLK, \
P_RMII0_MDINT, \
P_RMII0_CRS_DV, \
P_MDC, \
P_MDIO, 0}
#endif /* _MACH_PORTMUX_H_ */
#include <linux/serial.h> #include <linux/serial.h>
#include <asm/dma.h> #include <asm/dma.h>
#include <asm/portmux.h>
#define NR_PORTS 1 #define NR_PORTS 1
...@@ -92,18 +93,24 @@ struct bfin_serial_res bfin_serial_resource[] = { ...@@ -92,18 +93,24 @@ struct bfin_serial_res bfin_serial_resource[] = {
} }
}; };
#define DRIVER_NAME "bfin-uart"
int nr_ports = NR_PORTS; int nr_ports = NR_PORTS;
static void bfin_serial_hw_init(struct bfin_serial_port *uart) static void bfin_serial_hw_init(struct bfin_serial_port *uart)
{ {
#ifdef CONFIG_SERIAL_BFIN_UART0
peripheral_request(P_UART0_TX, DRIVER_NAME);
peripheral_request(P_UART0_RX, DRIVER_NAME);
#endif
#ifdef CONFIG_SERIAL_BFIN_CTSRTS #ifdef CONFIG_SERIAL_BFIN_CTSRTS
if (uart->cts_pin >= 0) { if (uart->cts_pin >= 0) {
gpio_request(uart->cts_pin, NULL); gpio_request(uart->cts_pin, DRIVER_NAME);
gpio_direction_input(uart->cts_pin); gpio_direction_input(uart->cts_pin);
} }
if (uart->rts_pin >= 0) { if (uart->rts_pin >= 0) {
gpio_request(uart->rts_pin, NULL); gpio_request(uart->rts_pin, DRIVER_NAME);
gpio_direction_input(uart->rts_pin); gpio_direction_input(uart->rts_pin);
} }
#endif #endif
......
...@@ -14,6 +14,12 @@ ...@@ -14,6 +14,12 @@
#define P_MAYSHARE 0x2000 #define P_MAYSHARE 0x2000
#define P_DONTCARE 0x1000 #define P_DONTCARE 0x1000
int peripheral_request(unsigned short per, const char *label);
void peripheral_free(unsigned short per);
int peripheral_request_list(unsigned short per[], const char *label);
void peripheral_free_list(unsigned short per[]);
#include <asm/gpio.h> #include <asm/gpio.h>
#include <asm/mach/portmux.h> #include <asm/mach/portmux.h>
...@@ -145,6 +151,22 @@ ...@@ -145,6 +151,22 @@
#define P_SPI2_SSEL3 P_UNDEF #define P_SPI2_SSEL3 P_UNDEF
#endif #endif
#ifndef P_SPI2_SSEL4
#define P_SPI2_SSEL4 P_UNDEF
#endif
#ifndef P_SPI2_SSEL5
#define P_SPI2_SSEL5 P_UNDEF
#endif
#ifndef P_SPI2_SSEL6
#define P_SPI2_SSEL6 P_UNDEF
#endif
#ifndef P_SPI2_SSEL7
#define P_SPI2_SSEL7 P_UNDEF
#endif
#ifndef P_SPI2_SCK #ifndef P_SPI2_SCK
#define P_SPI2_SCK P_UNDEF #define P_SPI2_SCK P_UNDEF
#endif #endif
...@@ -513,6 +535,22 @@ ...@@ -513,6 +535,22 @@
#define P_SPI0_SSEL3 P_UNDEF #define P_SPI0_SSEL3 P_UNDEF
#endif #endif
#ifndef P_SPI0_SSEL4
#define P_SPI0_SSEL4 P_UNDEF
#endif
#ifndef P_SPI0_SSEL5
#define P_SPI0_SSEL5 P_UNDEF
#endif
#ifndef P_SPI0_SSEL6
#define P_SPI0_SSEL6 P_UNDEF
#endif
#ifndef P_SPI0_SSEL7
#define P_SPI0_SSEL7 P_UNDEF
#endif
#ifndef P_UART0_TX #ifndef P_UART0_TX
#define P_UART0_TX P_UNDEF #define P_UART0_TX P_UNDEF
#endif #endif
...@@ -741,6 +779,23 @@ ...@@ -741,6 +779,23 @@
#define P_SPI1_SSEL3 P_UNDEF #define P_SPI1_SSEL3 P_UNDEF
#endif #endif
#ifndef P_SPI1_SSEL4
#define P_SPI1_SSEL4 P_UNDEF
#endif
#ifndef P_SPI1_SSEL5
#define P_SPI1_SSEL5 P_UNDEF
#endif
#ifndef P_SPI1_SSEL6
#define P_SPI1_SSEL6 P_UNDEF
#endif
#ifndef P_SPI1_SSEL7
#define P_SPI1_SSEL7 P_UNDEF
#endif
#ifndef P_SPI1_SCK #ifndef P_SPI1_SCK
#define P_SPI1_SCK P_UNDEF #define P_SPI1_SCK P_UNDEF
#endif #endif
......
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
/* /*
* This file contains the system call numbers. * This file contains the system call numbers.
*/ */
#define __NR_restart_syscall 0
#define __NR_exit 1 #define __NR_exit 1
#define __NR_fork 2 #define __NR_fork 2
#define __NR_read 3 #define __NR_read 3
...@@ -165,13 +166,13 @@ ...@@ -165,13 +166,13 @@
#define __NR_sched_get_priority_min 160 #define __NR_sched_get_priority_min 160
#define __NR_sched_rr_get_interval 161 #define __NR_sched_rr_get_interval 161
#define __NR_nanosleep 162 #define __NR_nanosleep 162
/* 163 __NR_mremap */ #define __NR_mremap 163
#define __NR_setresuid 164 #define __NR_setresuid 164
#define __NR_getresuid 165 #define __NR_getresuid 165
/* 166 __NR_vm86 */ /* 166 __NR_vm86 */
/* 167 __NR_query_module */ /* 167 __NR_query_module */
/* 168 __NR_poll */ /* 168 __NR_poll */
/* 169 __NR_nfsservctl */ #define __NR_nfsservctl 169
#define __NR_setresgid 170 #define __NR_setresgid 170
#define __NR_getresgid 171 #define __NR_getresgid 171
#define __NR_prctl 172 #define __NR_prctl 172
...@@ -227,7 +228,7 @@ ...@@ -227,7 +228,7 @@
/* 222 reserved for TUX */ /* 222 reserved for TUX */
/* 223 reserved for TUX */ /* 223 reserved for TUX */
#define __NR_gettid 224 #define __NR_gettid 224
/* 225 __NR_readahead */ #define __NR_readahead 225
#define __NR_setxattr 226 #define __NR_setxattr 226
#define __NR_lsetxattr 227 #define __NR_lsetxattr 227
#define __NR_fsetxattr 228 #define __NR_fsetxattr 228
...@@ -287,7 +288,7 @@ ...@@ -287,7 +288,7 @@
#define __NR_mq_timedreceive (__NR_mq_open+3) #define __NR_mq_timedreceive (__NR_mq_open+3)
#define __NR_mq_notify (__NR_mq_open+4) #define __NR_mq_notify (__NR_mq_open+4)
#define __NR_mq_getsetattr (__NR_mq_open+5) #define __NR_mq_getsetattr (__NR_mq_open+5)
/* 284 __NR_sys_kexec_load */ #define __NR_kexec_load 284
#define __NR_waitid 285 #define __NR_waitid 285
#define __NR_add_key 286 #define __NR_add_key 286
#define __NR_request_key 287 #define __NR_request_key 287
...@@ -352,9 +353,54 @@ ...@@ -352,9 +353,54 @@
#define __NR_shmdt 340 #define __NR_shmdt 340
#define __NR_shmget 341 #define __NR_shmget 341
#define __NR_syscall 342 #define __NR_splice 342
#define __NR_sync_file_range 343
#define __NR_tee 344
#define __NR_vmsplice 345
#define __NR_epoll_pwait 346
#define __NR_utimensat 347
#define __NR_signalfd 348
#define __NR_timerfd 349
#define __NR_eventfd 350
#define __NR_pread64 351
#define __NR_pwrite64 352
#define __NR_fadvise64 353
#define __NR_set_robust_list 354
#define __NR_get_robust_list 355
#define __NR_fallocate 356
#define __NR_syscall 357
#define NR_syscalls __NR_syscall #define NR_syscalls __NR_syscall
/* Old optional stuff no one actually uses */
#define __IGNORE_sysfs
#define __IGNORE_uselib
/* Implement the newer interfaces */
#define __IGNORE_mmap
#define __IGNORE_poll
#define __IGNORE_select
#define __IGNORE_utime
/* Not relevant on no-mmu */
#define __IGNORE_swapon
#define __IGNORE_swapoff
#define __IGNORE_msync
#define __IGNORE_mlock
#define __IGNORE_munlock
#define __IGNORE_mlockall
#define __IGNORE_munlockall
#define __IGNORE_mincore
#define __IGNORE_madvise
#define __IGNORE_remap_file_pages
#define __IGNORE_mbind
#define __IGNORE_get_mempolicy
#define __IGNORE_set_mempolicy
#define __IGNORE_migrate_pages
#define __IGNORE_move_pages
#define __IGNORE_getcpu
#ifdef __KERNEL__ #ifdef __KERNEL__
#define __ARCH_WANT_IPC_PARSE_VERSION #define __ARCH_WANT_IPC_PARSE_VERSION
#define __ARCH_WANT_STAT64 #define __ARCH_WANT_STAT64
......
...@@ -9,6 +9,7 @@ ...@@ -9,6 +9,7 @@
#define flat_argvp_envp_on_stack() 1 #define flat_argvp_envp_on_stack() 1
#define flat_old_ram_flag(flags) 1 #define flat_old_ram_flag(flags) 1
#define flat_reloc_valid(reloc, size) ((reloc) <= (size)) #define flat_reloc_valid(reloc, size) ((reloc) <= (size))
#define flat_set_persistent(relval, p) 0
/* /*
* on the H8 a couple of the relocations have an instruction in the * on the H8 a couple of the relocations have an instruction in the
...@@ -18,7 +19,7 @@ ...@@ -18,7 +19,7 @@
*/ */
#define flat_get_relocate_addr(rel) (rel) #define flat_get_relocate_addr(rel) (rel)
#define flat_get_addr_from_rp(rp, relval, flags) \ #define flat_get_addr_from_rp(rp, relval, flags, persistent) \
(get_unaligned(rp) & ((flags & FLAT_FLAG_GOTPIC) ? 0xffffffff: 0x00ffffff)) (get_unaligned(rp) & ((flags & FLAT_FLAG_GOTPIC) ? 0xffffffff: 0x00ffffff))
#define flat_put_addr_at_rp(rp, addr, rel) \ #define flat_put_addr_at_rp(rp, addr, rel) \
put_unaligned (((*(char *)(rp)) << 24) | ((addr) & 0x00ffffff), rp) put_unaligned (((*(char *)(rp)) << 24) | ((addr) & 0x00ffffff), rp)
......
...@@ -15,9 +15,10 @@ ...@@ -15,9 +15,10 @@
#define flat_stack_align(sp) (*sp += (*sp & 3 ? (4 - (*sp & 3)): 0)) #define flat_stack_align(sp) (*sp += (*sp & 3 ? (4 - (*sp & 3)): 0))
#define flat_argvp_envp_on_stack() 0 #define flat_argvp_envp_on_stack() 0
#define flat_old_ram_flag(flags) (flags) #define flat_old_ram_flag(flags) (flags)
#define flat_set_persistent(relval, p) 0
#define flat_reloc_valid(reloc, size) \ #define flat_reloc_valid(reloc, size) \
(((reloc) - textlen_for_m32r_lo16_data) <= (size)) (((reloc) - textlen_for_m32r_lo16_data) <= (size))
#define flat_get_addr_from_rp(rp, relval, flags) \ #define flat_get_addr_from_rp(rp, relval, flags, persistent) \
m32r_flat_get_addr_from_rp(rp, relval, (text_len) ) m32r_flat_get_addr_from_rp(rp, relval, (text_len) )
#define flat_put_addr_at_rp(rp, addr, relval) \ #define flat_put_addr_at_rp(rp, addr, relval) \
......
...@@ -9,8 +9,9 @@ ...@@ -9,8 +9,9 @@
#define flat_argvp_envp_on_stack() 1 #define flat_argvp_envp_on_stack() 1
#define flat_old_ram_flag(flags) (flags) #define flat_old_ram_flag(flags) (flags)
#define flat_reloc_valid(reloc, size) ((reloc) <= (size)) #define flat_reloc_valid(reloc, size) ((reloc) <= (size))
#define flat_get_addr_from_rp(rp, relval, flags) get_unaligned(rp) #define flat_get_addr_from_rp(rp, relval, flags, p) get_unaligned(rp)
#define flat_put_addr_at_rp(rp, val, relval) put_unaligned(val,rp) #define flat_put_addr_at_rp(rp, val, relval) put_unaligned(val,rp)
#define flat_get_relocate_addr(rel) (rel) #define flat_get_relocate_addr(rel) (rel)
#define flat_set_persistent(relval, p) 0
#endif /* __M68KNOMMU_FLAT_H__ */ #endif /* __M68KNOMMU_FLAT_H__ */
...@@ -16,8 +16,9 @@ ...@@ -16,8 +16,9 @@
#define flat_argvp_envp_on_stack() 0 #define flat_argvp_envp_on_stack() 0
#define flat_old_ram_flag(flags) (flags) #define flat_old_ram_flag(flags) (flags)
#define flat_reloc_valid(reloc, size) ((reloc) <= (size)) #define flat_reloc_valid(reloc, size) ((reloc) <= (size))
#define flat_get_addr_from_rp(rp, relval, flags) get_unaligned(rp) #define flat_get_addr_from_rp(rp, relval, flags, p) get_unaligned(rp)
#define flat_put_addr_at_rp(rp, val, relval) put_unaligned(val,rp) #define flat_put_addr_at_rp(rp, val, relval) put_unaligned(val,rp)
#define flat_get_relocate_addr(rel) (rel) #define flat_get_relocate_addr(rel) (rel)
#define flat_set_persistent(relval, p) 0
#endif /* __ASM_SH_FLAT_H */ #endif /* __ASM_SH_FLAT_H */
...@@ -25,6 +25,7 @@ ...@@ -25,6 +25,7 @@
#define flat_stack_align(sp) /* nothing needed */ #define flat_stack_align(sp) /* nothing needed */
#define flat_argvp_envp_on_stack() 0 #define flat_argvp_envp_on_stack() 0
#define flat_old_ram_flag(flags) (flags) #define flat_old_ram_flag(flags) (flags)
#define flat_set_persistent(relval, p) 0
/* We store the type of relocation in the top 4 bits of the `relval.' */ /* We store the type of relocation in the top 4 bits of the `relval.' */
...@@ -46,7 +47,8 @@ flat_get_relocate_addr (unsigned long relval) ...@@ -46,7 +47,8 @@ flat_get_relocate_addr (unsigned long relval)
For the v850, RP should always be half-word aligned. */ For the v850, RP should always be half-word aligned. */
static inline unsigned long flat_get_addr_from_rp (unsigned long *rp, static inline unsigned long flat_get_addr_from_rp (unsigned long *rp,
unsigned long relval, unsigned long relval,
unsigned long flags) unsigned long flags,
unsigned long *persistent)
{ {
short *srp = (short *)rp; short *srp = (short *)rp;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment