Merge branch 'parisc-4.18-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux
Pull parisc fixes and cleanups from Helge Deller: "Nothing exiting in this patchset, just - small cleanups of header files - default to 4 CPUs when building a SMP kernel - mark 16kB and 64kB page sizes broken - addition of the new io_pgetevents syscall" * 'parisc-4.18-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux: parisc: Build kernel without -ffunction-sections parisc: Reduce debug output in unwind code parisc: Wire up io_pgetevents syscall parisc: Default to 4 SMP CPUs parisc: Convert printk(KERN_LEVEL) to pr_lvl() parisc: Mark 16kB and 64kB page sizes BROKEN parisc: Drop struct sigaction from not exported header filehifive-unleashed-5.1
commit
883c9ab9eb
|
@ -244,11 +244,11 @@ config PARISC_PAGE_SIZE_4KB
|
||||||
|
|
||||||
config PARISC_PAGE_SIZE_16KB
|
config PARISC_PAGE_SIZE_16KB
|
||||||
bool "16KB"
|
bool "16KB"
|
||||||
depends on PA8X00
|
depends on PA8X00 && BROKEN
|
||||||
|
|
||||||
config PARISC_PAGE_SIZE_64KB
|
config PARISC_PAGE_SIZE_64KB
|
||||||
bool "64KB"
|
bool "64KB"
|
||||||
depends on PA8X00
|
depends on PA8X00 && BROKEN
|
||||||
|
|
||||||
endchoice
|
endchoice
|
||||||
|
|
||||||
|
@ -347,7 +347,7 @@ config NR_CPUS
|
||||||
int "Maximum number of CPUs (2-32)"
|
int "Maximum number of CPUs (2-32)"
|
||||||
range 2 32
|
range 2 32
|
||||||
depends on SMP
|
depends on SMP
|
||||||
default "32"
|
default "4"
|
||||||
|
|
||||||
endmenu
|
endmenu
|
||||||
|
|
||||||
|
|
|
@ -65,10 +65,6 @@ endif
|
||||||
# kernel.
|
# kernel.
|
||||||
cflags-y += -mdisable-fpregs
|
cflags-y += -mdisable-fpregs
|
||||||
|
|
||||||
# Without this, "ld -r" results in .text sections that are too big
|
|
||||||
# (> 0x40000) for branches to reach stubs.
|
|
||||||
cflags-y += -ffunction-sections
|
|
||||||
|
|
||||||
# Use long jumps instead of long branches (needed if your linker fails to
|
# Use long jumps instead of long branches (needed if your linker fails to
|
||||||
# link a too big vmlinux executable). Not enabled for building modules.
|
# link a too big vmlinux executable). Not enabled for building modules.
|
||||||
ifdef CONFIG_MLONGCALLS
|
ifdef CONFIG_MLONGCALLS
|
||||||
|
|
|
@ -21,14 +21,6 @@ typedef struct {
|
||||||
unsigned long sig[_NSIG_WORDS];
|
unsigned long sig[_NSIG_WORDS];
|
||||||
} sigset_t;
|
} sigset_t;
|
||||||
|
|
||||||
#ifndef __KERNEL__
|
|
||||||
struct sigaction {
|
|
||||||
__sighandler_t sa_handler;
|
|
||||||
unsigned long sa_flags;
|
|
||||||
sigset_t sa_mask; /* mask last for extensibility */
|
|
||||||
};
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <asm/sigcontext.h>
|
#include <asm/sigcontext.h>
|
||||||
|
|
||||||
#endif /* !__ASSEMBLY */
|
#endif /* !__ASSEMBLY */
|
||||||
|
|
|
@ -364,8 +364,9 @@
|
||||||
#define __NR_preadv2 (__NR_Linux + 347)
|
#define __NR_preadv2 (__NR_Linux + 347)
|
||||||
#define __NR_pwritev2 (__NR_Linux + 348)
|
#define __NR_pwritev2 (__NR_Linux + 348)
|
||||||
#define __NR_statx (__NR_Linux + 349)
|
#define __NR_statx (__NR_Linux + 349)
|
||||||
|
#define __NR_io_pgetevents (__NR_Linux + 350)
|
||||||
|
|
||||||
#define __NR_Linux_syscalls (__NR_statx + 1)
|
#define __NR_Linux_syscalls (__NR_io_pgetevents + 1)
|
||||||
|
|
||||||
|
|
||||||
#define __IGNORE_select /* newselect */
|
#define __IGNORE_select /* newselect */
|
||||||
|
|
|
@ -154,17 +154,14 @@ int register_parisc_driver(struct parisc_driver *driver)
|
||||||
{
|
{
|
||||||
/* FIXME: we need this because apparently the sti
|
/* FIXME: we need this because apparently the sti
|
||||||
* driver can be registered twice */
|
* driver can be registered twice */
|
||||||
if(driver->drv.name) {
|
if (driver->drv.name) {
|
||||||
printk(KERN_WARNING
|
pr_warn("BUG: skipping previously registered driver %s\n",
|
||||||
"BUG: skipping previously registered driver %s\n",
|
driver->name);
|
||||||
driver->name);
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!driver->probe) {
|
if (!driver->probe) {
|
||||||
printk(KERN_WARNING
|
pr_warn("BUG: driver %s has no probe routine\n", driver->name);
|
||||||
"BUG: driver %s has no probe routine\n",
|
|
||||||
driver->name);
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -491,12 +488,9 @@ alloc_pa_dev(unsigned long hpa, struct hardware_path *mod_path)
|
||||||
|
|
||||||
dev = create_parisc_device(mod_path);
|
dev = create_parisc_device(mod_path);
|
||||||
if (dev->id.hw_type != HPHW_FAULTY) {
|
if (dev->id.hw_type != HPHW_FAULTY) {
|
||||||
printk(KERN_ERR "Two devices have hardware path [%s]. "
|
pr_err("Two devices have hardware path [%s]. IODC data for second device: %7phN\n"
|
||||||
"IODC data for second device: "
|
"Rearranging GSC cards sometimes helps\n",
|
||||||
"%02x%02x%02x%02x%02x%02x\n"
|
parisc_pathname(dev), iodc_data);
|
||||||
"Rearranging GSC cards sometimes helps\n",
|
|
||||||
parisc_pathname(dev), iodc_data[0], iodc_data[1],
|
|
||||||
iodc_data[3], iodc_data[4], iodc_data[5], iodc_data[6]);
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -528,8 +522,7 @@ alloc_pa_dev(unsigned long hpa, struct hardware_path *mod_path)
|
||||||
* the keyboard controller
|
* the keyboard controller
|
||||||
*/
|
*/
|
||||||
if ((hpa & 0xfff) == 0 && insert_resource(&iomem_resource, &dev->hpa))
|
if ((hpa & 0xfff) == 0 && insert_resource(&iomem_resource, &dev->hpa))
|
||||||
printk("Unable to claim HPA %lx for device %s\n",
|
pr_warn("Unable to claim HPA %lx for device %s\n", hpa, name);
|
||||||
hpa, name);
|
|
||||||
|
|
||||||
return dev;
|
return dev;
|
||||||
}
|
}
|
||||||
|
@ -875,7 +868,7 @@ static void print_parisc_device(struct parisc_device *dev)
|
||||||
static int count;
|
static int count;
|
||||||
|
|
||||||
print_pa_hwpath(dev, hw_path);
|
print_pa_hwpath(dev, hw_path);
|
||||||
printk(KERN_INFO "%d. %s at 0x%px [%s] { %d, 0x%x, 0x%.3x, 0x%.5x }",
|
pr_info("%d. %s at 0x%px [%s] { %d, 0x%x, 0x%.3x, 0x%.5x }",
|
||||||
++count, dev->name, (void*) dev->hpa.start, hw_path, dev->id.hw_type,
|
++count, dev->name, (void*) dev->hpa.start, hw_path, dev->id.hw_type,
|
||||||
dev->id.hversion_rev, dev->id.hversion, dev->id.sversion);
|
dev->id.hversion_rev, dev->id.hversion, dev->id.sversion);
|
||||||
|
|
||||||
|
|
|
@ -445,6 +445,7 @@
|
||||||
ENTRY_COMP(preadv2)
|
ENTRY_COMP(preadv2)
|
||||||
ENTRY_COMP(pwritev2)
|
ENTRY_COMP(pwritev2)
|
||||||
ENTRY_SAME(statx)
|
ENTRY_SAME(statx)
|
||||||
|
ENTRY_COMP(io_pgetevents) /* 350 */
|
||||||
|
|
||||||
|
|
||||||
.ifne (. - 90b) - (__NR_Linux_syscalls * (91b - 90b))
|
.ifne (. - 90b) - (__NR_Linux_syscalls * (91b - 90b))
|
||||||
|
|
|
@ -25,7 +25,7 @@
|
||||||
|
|
||||||
/* #define DEBUG 1 */
|
/* #define DEBUG 1 */
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
#define dbg(x...) printk(x)
|
#define dbg(x...) pr_debug(x)
|
||||||
#else
|
#else
|
||||||
#define dbg(x...)
|
#define dbg(x...)
|
||||||
#endif
|
#endif
|
||||||
|
@ -182,7 +182,7 @@ int __init unwind_init(void)
|
||||||
start = (long)&__start___unwind[0];
|
start = (long)&__start___unwind[0];
|
||||||
stop = (long)&__stop___unwind[0];
|
stop = (long)&__stop___unwind[0];
|
||||||
|
|
||||||
printk("unwind_init: start = 0x%lx, end = 0x%lx, entries = %lu\n",
|
dbg("unwind_init: start = 0x%lx, end = 0x%lx, entries = %lu\n",
|
||||||
start, stop,
|
start, stop,
|
||||||
(stop - start) / sizeof(struct unwind_table_entry));
|
(stop - start) / sizeof(struct unwind_table_entry));
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue