allow CONFIG_NET=n on ppc64
Subsystems (3)
PATCH 1/1 allow CONFIG_NET=n on ppc64
The attached minimal config does not compile on ppc64. I was able to boot the resulting binary with this patch.
arch/ppc64/kernel/misc.S +4 -0
@@ -703,7 +703,11 @@ _GLOBAL(sys_call_table32) .llong .compat_sys_statfs .llong .compat_sys_fstatfs /* 100 */ .llong .sys_ni_syscall /* old ioperm syscall */ +#ifdef CONFIG_NET .llong .compat_sys_socketcall +#else + .llong .sys_ni_syscall /* old ioperm syscall */ +#endif .llong .sys32_syslog .llong .compat_sys_setitimer .llong .compat_sys_getitimer /* 105 */
include/net/sock.h +7 -0
@@ -1327,6 +1327,13 @@ static inline void sock_valbool_flag(strextern __u32 sysctl_wmem_max;extern __u32 sysctl_rmem_max; +#ifdef CONFIG_NET int siocdevprivate_ioctl (unsigned int fd,unsigned int cmd,unsigned long arg); +#else +static inline int siocdevprivate_ioctl (unsigned int fd,unsigned int cmd,unsigned long arg) +{ +return -ENODEV ; +} +#endif #endif /* _SOCK_H */
Signature · 3 lines
USB is for mice, FireWire is for men! sUse lINUX ag, nÜRNBERG
CONFIG_64BIT=yCONFIG_MMU=yCONFIG_RWSEM_XCHGADD_ALGORITHM=yCONFIG_GENERIC_ISA_DMA=yCONFIG_HAVE_DEC_LOCK=yCONFIG_EARLY_PRINTK=yCONFIG_COMPAT=yCONFIG_FRAME_POINTER=yCONFIG_FORCE_MAX_ZONEORDER=13CONFIG_EXPERIMENTAL=yCONFIG_CLEAN_COMPILE=yCONFIG_LOCALVERSION=""CONFIG_SYSVIPC=yCONFIG_SYSCTL=yCONFIG_LOG_BUF_SHIFT=17CONFIG_KALLSYMS=yCONFIG_KALLSYMS_ALL=yCONFIG_FUTEX=yCONFIG_EPOLL=yCONFIG_IOSCHED_NOOP=yCONFIG_IOSCHED_AS=yCONFIG_IOSCHED_DEADLINE=yCONFIG_IOSCHED_CFQ=yCONFIG_SHMEM=yCONFIG_SYSVIPC_COMPAT=yCONFIG_PPC_PSERIES=yCONFIG_PPC=yCONFIG_PPC64=yCONFIG_PPC_OF=yCONFIG_IOMMU_VMERGE=yCONFIG_SMP=yCONFIG_IRQ_ALL_CPUS=yCONFIG_NR_CPUS=128CONFIG_PCI=yCONFIG_PCI_DOMAINS=yCONFIG_BINFMT_ELF=yCONFIG_PROC_DEVICETREE=yCONFIG_CMDLINE_BOOL=yCONFIG_CMDLINE="panic=1"CONFIG_INPUT=yCONFIG_INPUT_MOUSEDEV=yCONFIG_INPUT_MOUSEDEV_SCREEN_X=1024CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768CONFIG_SOUND_GAMEPORT=yCONFIG_SERIO=yCONFIG_VT=yCONFIG_VT_CONSOLE=yCONFIG_HW_CONSOLE=yCONFIG_SERIAL_8250=yCONFIG_SERIAL_8250_CONSOLE=yCONFIG_SERIAL_8250_NR_UARTS=4CONFIG_SERIAL_CORE=yCONFIG_SERIAL_CORE_CONSOLE=yCONFIG_UNIX98_PTYS=yCONFIG_DUMMY_CONSOLE=yCONFIG_PROC_FS=yCONFIG_PROC_KCORE=yCONFIG_SYSFS=yCONFIG_DEVPTS_FS_XATTR=yCONFIG_TMPFS=yCONFIG_RAMFS=yCONFIG_MSDOS_PARTITION=yCONFIG_DEBUG_KERNEL=yCONFIG_DEBUGGER=yCONFIG_XMON=yCONFIG_XMON_DEFAULT=yCONFIG_LIBCRC32C=y
Quoted 3 lines · Olaf Hering
The attached minimal config does not compile on ppc64. I was able to boot the resulting binary with this patch.
I already fixed this some time ago, but the patch must have disappeared.
arch/ppc64/kernel/misc.S _GLOBAL(sys_call_table32) · line 710
Quoted 12 lines
diff -purNX /suse/olh/kernel/kernel_exclude.txt
linux-2.6.9-rc2/arch/ppc64/kernel/misc.Slinux-2.6.9-rc2.ppc64/arch/ppc64/kernel/misc.Sarch/ppc64/kernel/misc.S +4
-0@@ -703,7 +703,11 @@ _GLOBAL(sys_call_table32) .llong .compat_sys_statfs .llong .compat_sys_fstatfs /* 100 */ .llong .sys_ni_syscall /* old ioperm syscall */ +#ifdef CONFIG_NET .llong .compat_sys_socketcall +#else + .llong .sys_ni_syscall /* old ioperm syscall */ +#endif
Right fix is to declare compat_sys_socketcall as as cond_syscall() in sys.c
-Andi
Quoted 7 lines · Andi Kleen
Quoted 3 lines · Olaf Hering
The attached minimal config does not compile on ppc64. I was able to boot the resulting binary with this patch.
Right fix is to declare
compat_sys_socketcallas ascond_syscall()insys.c
ok.
include/net/sock.h +7 -0
@@ -1336,6 +1336,13 @@ static inline void sock_valbool_flag(strextern __u32 sysctl_wmem_max;extern __u32 sysctl_rmem_max; +#ifdef CONFIG_NET int siocdevprivate_ioctl (unsigned int fd,unsigned int cmd,unsigned long arg); +#else +static inline int siocdevprivate_ioctl (unsigned int fd,unsigned int cmd,unsigned long arg) +{ +return -ENODEV ; +} +#endif #endif /* _SOCK_H */
kernel/sys.c +1 -0
@@ -282,6 +282,7 @@ cond_syscall(compat_set_mempolicy)cond_syscall (sys_pciconfig_read)cond_syscall (sys_pciconfig_write )cond_syscall (sys_pciconfig_iobase) +cond_syscall (compat_sys_socketcall) static int set_one_prio(struct task_struct *p, int niceval, int error) {
Signature · 3 lines
USB is for mice, FireWire is for men! sUse lINUX ag, nÜRNBERG
David S. Miller
maintainerOlaf, as I requested of you last time, please use attachments for your patches since I can never apply them cleanly when you inline them to the main body text.
Thanks a lot.
HELP NEEDED!!!
Hi everyone,
I have got a small problem regarding configuring my ethernet
card,while loading the eth0 driver the kernel performs auto-probing for the device and configures the eth0 to half-duplex.
I used command line arguments while loading modules insmod 8139too io=0x280 irq=10 duplex=2
but still it performs the autoprobing overriding the parameters.
Please help me out of this problem,i want to configure my ethernetcard to fullduplex.
Waiting for a reply...
With Regards,
Pranav.
Re: HELP NEEDED!!!
Quoted 8 lines · Pranav
Hi everyone,
I have got a small problem regarding configuring my ethernet
card,while loading the eth0 driver the kernel performs auto-probing for the device and configures the eth0 to half-duplex.I used command line arguments while loading modules insmod 8139too io=0x280 irq=10 duplex=2
8139too module does not take any arguments like io= or irq=. PCI cards do not need such parameters.
You may use ethtool to select half-duplex or full-duplex.
Jeff