提交 faa88df8 编写于 作者: L Linus Torvalds

Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6

* master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6:
  [SPARC]: Fix warning on prom_getproperty in openprom.c
  [SPARC]: Handle UNWIND_INFO properly.
  [SPARC64]: Update defconfig.
  [SPARC]: show device name in /proc/dvma_map
  [SPARC]: Remove duplicate symbol exports
...@@ -274,6 +274,11 @@ void *sbus_alloc_consistent(struct sbus_dev *sdev, long len, u32 *dma_addrp) ...@@ -274,6 +274,11 @@ void *sbus_alloc_consistent(struct sbus_dev *sdev, long len, u32 *dma_addrp)
if (mmu_map_dma_area(dma_addrp, va, res->start, len_total) != 0) if (mmu_map_dma_area(dma_addrp, va, res->start, len_total) != 0)
goto err_noiommu; goto err_noiommu;
/* Set the resource name, if known. */
if (sdev) {
res->name = sdev->prom_name;
}
return (void *)res->start; return (void *)res->start;
err_noiommu: err_noiommu:
......
...@@ -113,6 +113,7 @@ int apply_relocate_add(Elf32_Shdr *sechdrs, ...@@ -113,6 +113,7 @@ int apply_relocate_add(Elf32_Shdr *sechdrs,
switch (ELF32_R_TYPE(rel[i].r_info)) { switch (ELF32_R_TYPE(rel[i].r_info)) {
case R_SPARC_32: case R_SPARC_32:
case R_SPARC_UA32:
location[0] = v >> 24; location[0] = v >> 24;
location[1] = v >> 16; location[1] = v >> 16;
location[2] = v >> 8; location[2] = v >> 8;
......
...@@ -251,19 +251,9 @@ EXPORT_SYMBOL(__prom_getchild); ...@@ -251,19 +251,9 @@ EXPORT_SYMBOL(__prom_getchild);
EXPORT_SYMBOL(__prom_getsibling); EXPORT_SYMBOL(__prom_getsibling);
/* sparc library symbols */ /* sparc library symbols */
EXPORT_SYMBOL(memchr);
EXPORT_SYMBOL(memscan); EXPORT_SYMBOL(memscan);
EXPORT_SYMBOL(strlen); EXPORT_SYMBOL(strlen);
EXPORT_SYMBOL(strnlen);
EXPORT_SYMBOL(strcpy);
EXPORT_SYMBOL(strncpy);
EXPORT_SYMBOL(strcat);
EXPORT_SYMBOL(strncat);
EXPORT_SYMBOL(strcmp);
EXPORT_SYMBOL(strncmp); EXPORT_SYMBOL(strncmp);
EXPORT_SYMBOL(strchr);
EXPORT_SYMBOL(strrchr);
EXPORT_SYMBOL(strstr);
EXPORT_SYMBOL(page_kernel); EXPORT_SYMBOL(page_kernel);
/* Special internal versions of library functions. */ /* Special internal versions of library functions. */
...@@ -317,6 +307,3 @@ EXPORT_SYMBOL(do_BUG); ...@@ -317,6 +307,3 @@ EXPORT_SYMBOL(do_BUG);
/* Sun Power Management Idle Handler */ /* Sun Power Management Idle Handler */
EXPORT_SYMBOL(pm_idle); EXPORT_SYMBOL(pm_idle);
/* Binfmt_misc needs this */
EXPORT_SYMBOL(sys_close);
# #
# Automatically generated make config: don't edit # Automatically generated make config: don't edit
# Linux kernel version: 2.6.16 # Linux kernel version: 2.6.17-rc3
# Sun Apr 2 19:31:04 2006 # Fri May 12 12:43:49 2006
# #
CONFIG_SPARC=y CONFIG_SPARC=y
CONFIG_SPARC64=y CONFIG_SPARC64=y
...@@ -114,6 +114,7 @@ CONFIG_GENERIC_CALIBRATE_DELAY=y ...@@ -114,6 +114,7 @@ CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_HUGETLB_PAGE_SIZE_4MB=y CONFIG_HUGETLB_PAGE_SIZE_4MB=y
# CONFIG_HUGETLB_PAGE_SIZE_512K is not set # CONFIG_HUGETLB_PAGE_SIZE_512K is not set
# CONFIG_HUGETLB_PAGE_SIZE_64K is not set # CONFIG_HUGETLB_PAGE_SIZE_64K is not set
CONFIG_ARCH_SELECT_MEMORY_MODEL=y
CONFIG_ARCH_SPARSEMEM_ENABLE=y CONFIG_ARCH_SPARSEMEM_ENABLE=y
CONFIG_ARCH_SPARSEMEM_DEFAULT=y CONFIG_ARCH_SPARSEMEM_DEFAULT=y
CONFIG_LARGE_ALLOCS=y CONFIG_LARGE_ALLOCS=y
...@@ -430,7 +431,6 @@ CONFIG_ISCSI_TCP=m ...@@ -430,7 +431,6 @@ CONFIG_ISCSI_TCP=m
# CONFIG_SCSI_INIA100 is not set # CONFIG_SCSI_INIA100 is not set
# CONFIG_SCSI_SYM53C8XX_2 is not set # CONFIG_SCSI_SYM53C8XX_2 is not set
# CONFIG_SCSI_IPR is not set # CONFIG_SCSI_IPR is not set
# CONFIG_SCSI_QLOGIC_FC is not set
# CONFIG_SCSI_QLOGIC_1280 is not set # CONFIG_SCSI_QLOGIC_1280 is not set
# CONFIG_SCSI_QLOGICPTI is not set # CONFIG_SCSI_QLOGICPTI is not set
# CONFIG_SCSI_QLA_FC is not set # CONFIG_SCSI_QLA_FC is not set
...@@ -1042,9 +1042,7 @@ CONFIG_USB_HIDDEV=y ...@@ -1042,9 +1042,7 @@ CONFIG_USB_HIDDEV=y
# CONFIG_USB_ACECAD is not set # CONFIG_USB_ACECAD is not set
# CONFIG_USB_KBTAB is not set # CONFIG_USB_KBTAB is not set
# CONFIG_USB_POWERMATE is not set # CONFIG_USB_POWERMATE is not set
# CONFIG_USB_MTOUCH is not set # CONFIG_USB_TOUCHSCREEN is not set
# CONFIG_USB_ITMTOUCH is not set
# CONFIG_USB_EGALAX is not set
# CONFIG_USB_YEALINK is not set # CONFIG_USB_YEALINK is not set
# CONFIG_USB_XPAD is not set # CONFIG_USB_XPAD is not set
# CONFIG_USB_ATI_REMOTE is not set # CONFIG_USB_ATI_REMOTE is not set
...@@ -1114,6 +1112,14 @@ CONFIG_USB_HIDDEV=y ...@@ -1114,6 +1112,14 @@ CONFIG_USB_HIDDEV=y
# #
# CONFIG_NEW_LEDS is not set # CONFIG_NEW_LEDS is not set
#
# LED drivers
#
#
# LED Triggers
#
# #
# InfiniBand support # InfiniBand support
# #
...@@ -1303,6 +1309,7 @@ CONFIG_DEBUG_BUGVERBOSE=y ...@@ -1303,6 +1309,7 @@ CONFIG_DEBUG_BUGVERBOSE=y
# CONFIG_DEBUG_INFO is not set # CONFIG_DEBUG_INFO is not set
CONFIG_DEBUG_FS=y CONFIG_DEBUG_FS=y
# CONFIG_DEBUG_VM is not set # CONFIG_DEBUG_VM is not set
# CONFIG_UNWIND_INFO is not set
CONFIG_FORCED_INLINING=y CONFIG_FORCED_INLINING=y
# CONFIG_RCU_TORTURE_TEST is not set # CONFIG_RCU_TORTURE_TEST is not set
# CONFIG_DEBUG_STACK_USAGE is not set # CONFIG_DEBUG_STACK_USAGE is not set
......
...@@ -143,6 +143,11 @@ int apply_relocate_add(Elf64_Shdr *sechdrs, ...@@ -143,6 +143,11 @@ int apply_relocate_add(Elf64_Shdr *sechdrs,
location[3] = v >> 0; location[3] = v >> 0;
break; break;
case R_SPARC_DISP32:
v -= (Elf64_Addr) location;
*loc32 = v;
break;
case R_SPARC_WDISP30: case R_SPARC_WDISP30:
v -= (Elf64_Addr) location; v -= (Elf64_Addr) location;
*loc32 = (*loc32 & ~0x3fffffff) | *loc32 = (*loc32 & ~0x3fffffff) |
......
...@@ -392,13 +392,16 @@ static int openprom_bsd_ioctl(struct inode * inode, struct file * file, ...@@ -392,13 +392,16 @@ static int openprom_bsd_ioctl(struct inode * inode, struct file * file,
return -ENOMEM; return -ENOMEM;
} }
prom_getproperty(op.op_nodeid, str, tmp, len); cnt = prom_getproperty(op.op_nodeid, str, tmp, len);
if (cnt <= 0) {
tmp[len] = '\0'; error = -EINVAL;
} else {
tmp[len] = '\0';
if (__copy_to_user(argp, &op, sizeof(op)) != 0 if (__copy_to_user(argp, &op, sizeof(op)) != 0 ||
|| copy_to_user(op.op_buf, tmp, len) != 0) copy_to_user(op.op_buf, tmp, len) != 0)
error = -EFAULT; error = -EFAULT;
}
kfree(tmp); kfree(tmp);
kfree(str); kfree(str);
......
...@@ -189,7 +189,7 @@ config FRAME_POINTER ...@@ -189,7 +189,7 @@ config FRAME_POINTER
config UNWIND_INFO config UNWIND_INFO
bool "Compile the kernel with frame unwind information" bool "Compile the kernel with frame unwind information"
depends on !IA64 depends on !IA64
depends on !MODULES || !(MIPS || PARISC || PPC || SUPERH || SPARC64 || V850) depends on !MODULES || !(MIPS || PARISC || PPC || SUPERH || V850)
help help
If you say Y here the resulting kernel image will be slightly larger If you say Y here the resulting kernel image will be slightly larger
but not slower, and it will give very useful debugging information. but not slower, and it will give very useful debugging information.
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册