Skip to content

Commit 48d25d3

Browse files
committed
Merge tag 'parisc-for-6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux
Pull parisc architecture updates from Helge Deller: "PA-RISC now has a native eBPF JIT compiler for 32- and 64-bit kernels, the LED driver was rewritten to use the Linux LED framework and most of the parisc bootup code was switched to use *_initcall() functions. Summary: - add eBPF JIT compiler for 32- and 64-bit kernel - LCD/LED driver rewrite to utilize Linux LED subsystem - switch to generic mmap top-down layout and brk randomization - kernel startup cleanup by loading most drivers via arch_initcall()" * tag 'parisc-for-6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux: (31 commits) parisc: ccio-dma: Create private runway procfs root entry parisc: chassis: Do not overwrite string on LCD display parisc: led: Rewrite LED/LCD driver to utilizize Linux LED subsystem parisc: led: Fix LAN receive and transmit LEDs parisc: lasi: Initialize LASI driver via arch_initcall() parisc: asp: Initialize asp driver via arch_initcall() parisc: wax: Initialize wax driver via arch_initcall() parisc: iosapic: Convert I/O Sapic driver to use arch_initcall() parisc: sba_iommu: Convert SBA IOMMU driver to use arch_initcall() parisc: led: Move register_led_regions() to late_initcall() parisc: lba: Convert LBA PCI bus driver to use arch_initcall() parisc: gsc: Convert GSC bus driver to use arch_initcall() parisc: ccio: Convert CCIO driver to use arch_initcall() parisc: eisa: Convert HP EISA bus driver to use arch_initcall() parisc: hppb: Convert HP PB bus driver to use arch_initcall() parisc: dino: Convert dino PCI bus driver to use arch_initcall() parisc: Makefile: Adjust order in which drivers should be loaded parisc: led: Reduce CPU overhead for disk & lan LED computation parisc: Avoid ioremap() for same addresss in iosapic_register() parisc: unaligned: Simplify 32-bit assembly in emulate_std() ...
2 parents 468e28d + 77e0ddf commit 48d25d3

38 files changed

+3997
-883
lines changed

arch/parisc/Kbuild

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# SPDX-License-Identifier: GPL-2.0-only
2-
obj-y += mm/ kernel/ math-emu/
2+
obj-y += mm/ kernel/ math-emu/ net/
33

44
# for cleaning
55
subdir- += boot

arch/parisc/Kconfig

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,13 +49,18 @@ config PARISC
4949
select TTY # Needed for pdc_cons.c
5050
select HAS_IOPORT if PCI || EISA
5151
select HAVE_DEBUG_STACKOVERFLOW
52+
select ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT
53+
select HAVE_ARCH_MMAP_RND_COMPAT_BITS if COMPAT
54+
select HAVE_ARCH_MMAP_RND_BITS
5255
select HAVE_ARCH_AUDITSYSCALL
5356
select HAVE_ARCH_HASH
5457
select HAVE_ARCH_JUMP_LABEL
5558
select HAVE_ARCH_JUMP_LABEL_RELATIVE
5659
select HAVE_ARCH_KFENCE
5760
select HAVE_ARCH_SECCOMP_FILTER
5861
select HAVE_ARCH_TRACEHOOK
62+
select HAVE_EBPF_JIT
63+
select ARCH_WANT_DEFAULT_BPF_JIT
5964
select HAVE_REGS_AND_STACK_ACCESS_API
6065
select HOTPLUG_CORE_SYNC_DEAD if HOTPLUG_CPU
6166
select GENERIC_SCHED_CLOCK
@@ -124,6 +129,20 @@ config TIME_LOW_RES
124129
depends on SMP
125130
default y
126131

132+
config ARCH_MMAP_RND_BITS_MIN
133+
default 18 if 64BIT
134+
default 8
135+
136+
config ARCH_MMAP_RND_COMPAT_BITS_MIN
137+
default 8
138+
139+
config ARCH_MMAP_RND_BITS_MAX
140+
default 24 if 64BIT
141+
default 17
142+
143+
config ARCH_MMAP_RND_COMPAT_BITS_MAX
144+
default 17
145+
127146
# unless you want to implement ACPI on PA-RISC ... ;-)
128147
config PM
129148
bool

arch/parisc/Kconfig.debug

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ config LIGHTWEIGHT_SPINLOCK_CHECK
1313

1414
config TLB_PTLOCK
1515
bool "Use page table locks in TLB fault handler"
16-
depends on SMP
16+
depends on DEBUG_KERNEL && SMP
1717
default n
1818
help
1919
Select this option to enable page table locking in the TLB

arch/parisc/include/asm/elf.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -163,8 +163,7 @@ typedef struct elf32_fdesc {
163163

164164
/* Format for the Elf64 Function descriptor */
165165
typedef struct elf64_fdesc {
166-
__u64 dummy[2]; /* FIXME: nothing uses these, why waste
167-
* the space */
166+
__u64 dummy[2]; /* used by 64-bit eBPF and tracing functions */
168167
__u64 addr;
169168
__u64 gp;
170169
} Elf64_Fdesc;

arch/parisc/include/asm/led.h

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@
1111
#define LED1 0x02
1212
#define LED0 0x01 /* bottom (or furthest left) LED */
1313

14-
#define LED_LAN_TX LED0 /* for LAN transmit activity */
15-
#define LED_LAN_RCV LED1 /* for LAN receive activity */
14+
#define LED_LAN_RCV LED0 /* for LAN receive activity */
15+
#define LED_LAN_TX LED1 /* for LAN transmit activity */
1616
#define LED_DISK_IO LED2 /* for disk activity */
1717
#define LED_HEARTBEAT LED3 /* heartbeat */
1818

@@ -25,19 +25,13 @@
2525
#define LED_CMD_REG_NONE 0 /* NULL == no addr for the cmd register */
2626

2727
/* register_led_driver() */
28-
int __init register_led_driver(int model, unsigned long cmd_reg, unsigned long data_reg);
29-
30-
/* registers the LED regions for procfs */
31-
void __init register_led_regions(void);
28+
int register_led_driver(int model, unsigned long cmd_reg, unsigned long data_reg);
3229

3330
#ifdef CONFIG_CHASSIS_LCD_LED
3431
/* writes a string to the LCD display (if possible on this h/w) */
35-
int lcd_print(const char *str);
32+
void lcd_print(const char *str);
3633
#else
37-
#define lcd_print(str)
34+
#define lcd_print(str) do { } while (0)
3835
#endif
3936

40-
/* main LED initialization function (uses PDC) */
41-
int __init led_init(void);
42-
4337
#endif /* LED_H */

arch/parisc/include/asm/machdep.h

Lines changed: 0 additions & 17 deletions
This file was deleted.

arch/parisc/include/asm/processor.h

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -313,15 +313,7 @@ extern void collect_boot_cpu_data(void);
313313
extern int show_cpuinfo (struct seq_file *m, void *v);
314314

315315
/* driver code in driver/parisc */
316-
extern void gsc_init(void);
317316
extern void processor_init(void);
318-
extern void ccio_init(void);
319-
extern void hppb_init(void);
320-
extern void dino_init(void);
321-
extern void iosapic_init(void);
322-
extern void lba_init(void);
323-
extern void sba_init(void);
324-
extern void parisc_eisa_init(void);
325317
struct parisc_device;
326318
struct resource;
327319
extern void sba_distributed_lmmio(struct parisc_device *, struct resource *);

arch/parisc/include/asm/ropes.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -252,7 +252,7 @@ static inline int agp_mode_mercury(void __iomem *hpa) {
252252
** fixup_irq is to initialize PCI IRQ line support and
253253
** virtualize pcidev->irq value. To be called by pci_fixup_bus().
254254
*/
255-
extern void *iosapic_register(unsigned long hpa);
255+
extern void *iosapic_register(unsigned long hpa, void __iomem *vaddr);
256256
extern int iosapic_fixup_irq(void *obj, struct pci_dev *pcidev);
257257

258258
#define LBA_FUNC_ID 0x0000 /* function id */

arch/parisc/include/asm/runway.h

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,6 @@
22
#ifndef ASM_PARISC_RUNWAY_H
33
#define ASM_PARISC_RUNWAY_H
44

5-
/* declared in arch/parisc/kernel/setup.c */
6-
extern struct proc_dir_entry * proc_runway_root;
7-
85
#define RUNWAY_STATUS 0x10
96
#define RUNWAY_DEBUG 0x40
107

arch/parisc/kernel/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
extra-y := vmlinux.lds
77

88
obj-y := head.o cache.o pacache.o setup.o pdt.o traps.o time.o irq.o \
9-
pa7300lc.o syscall.o entry.o sys_parisc.o firmware.o \
9+
syscall.o entry.o sys_parisc.o firmware.o \
1010
ptrace.o hardware.o inventory.o drivers.o alternative.o \
1111
signal.o hpmc.o real2.o parisc_ksyms.o unaligned.o \
1212
process.o processor.o pdc_cons.o pdc_chassis.o unwind.o \

0 commit comments

Comments
 (0)