Commit 48d25d38 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
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()
  ...
parents 468e28d4 77e0ddf0
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0-only
obj-y	+= mm/ kernel/ math-emu/
obj-y	+= mm/ kernel/ math-emu/ net/

# for cleaning
subdir- += boot
+19 −0
Original line number Diff line number Diff line
@@ -49,6 +49,9 @@ config PARISC
	select TTY # Needed for pdc_cons.c
	select HAS_IOPORT if PCI || EISA
	select HAVE_DEBUG_STACKOVERFLOW
	select ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT
	select HAVE_ARCH_MMAP_RND_COMPAT_BITS if COMPAT
	select HAVE_ARCH_MMAP_RND_BITS
	select HAVE_ARCH_AUDITSYSCALL
	select HAVE_ARCH_HASH
	select HAVE_ARCH_JUMP_LABEL
@@ -56,6 +59,8 @@ config PARISC
	select HAVE_ARCH_KFENCE
	select HAVE_ARCH_SECCOMP_FILTER
	select HAVE_ARCH_TRACEHOOK
	select HAVE_EBPF_JIT
	select ARCH_WANT_DEFAULT_BPF_JIT
	select HAVE_REGS_AND_STACK_ACCESS_API
	select HOTPLUG_CORE_SYNC_DEAD if HOTPLUG_CPU
	select GENERIC_SCHED_CLOCK
@@ -124,6 +129,20 @@ config TIME_LOW_RES
	depends on SMP
	default y

config ARCH_MMAP_RND_BITS_MIN
	default 18 if 64BIT
	default 8

config ARCH_MMAP_RND_COMPAT_BITS_MIN
	default 8

config ARCH_MMAP_RND_BITS_MAX
	default 24 if 64BIT
	default 17

config ARCH_MMAP_RND_COMPAT_BITS_MAX
	default 17

# unless you want to implement ACPI on PA-RISC ... ;-)
config PM
	bool
+1 −1
Original line number Diff line number Diff line
@@ -13,7 +13,7 @@ config LIGHTWEIGHT_SPINLOCK_CHECK

config TLB_PTLOCK
	bool "Use page table locks in TLB fault handler"
	depends on SMP
	depends on DEBUG_KERNEL && SMP
	default n
	help
	  Select this option to enable page table locking in the TLB
+1 −2
Original line number Diff line number Diff line
@@ -163,8 +163,7 @@ typedef struct elf32_fdesc {

/* Format for the Elf64 Function descriptor */
typedef struct elf64_fdesc {
	__u64	dummy[2]; /* FIXME: nothing uses these, why waste
			   * the space */
	__u64	dummy[2]; /* used by 64-bit eBPF and tracing functions */
	__u64	addr;
	__u64	gp;
} Elf64_Fdesc;
+5 −11
Original line number Diff line number Diff line
@@ -11,8 +11,8 @@
#define	LED1		0x02
#define	LED0		0x01		/* bottom (or furthest left) LED */

#define	LED_LAN_TX	LED0		/* for LAN transmit activity */
#define	LED_LAN_RCV	LED1		/* for LAN receive activity */
#define	LED_LAN_RCV	LED0		/* for LAN receive activity */
#define	LED_LAN_TX	LED1		/* for LAN transmit activity */
#define	LED_DISK_IO	LED2		/* for disk activity */
#define	LED_HEARTBEAT	LED3		/* heartbeat */

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

/* register_led_driver() */
int __init register_led_driver(int model, unsigned long cmd_reg, unsigned long data_reg);

/* registers the LED regions for procfs */
void __init register_led_regions(void);
int register_led_driver(int model, unsigned long cmd_reg, unsigned long data_reg);

#ifdef CONFIG_CHASSIS_LCD_LED
/* writes a string to the LCD display (if possible on this h/w) */
int lcd_print(const char *str);
void lcd_print(const char *str);
#else
#define lcd_print(str)
#define lcd_print(str) do { } while (0)
#endif

/* main LED initialization function (uses PDC) */ 
int __init led_init(void);

#endif /* LED_H */
Loading