Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d719518d authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull sparc updates from David Miller:

 1) Use register window state adjustment instructions when available,
    from Anthony Yznaga.

 2) Add VCC console concentrator driver, from Jag Raman.

 3) Add 16GB hugepage support, from Nitin Gupta.

 4) Support cpu 'poke' hypercall, from Vijay Kumar.

 5) Add M7/M8 optimized memcpy/memset/copy_{to,from}_user, from Babu
    Moger.

* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next: (33 commits)
  sparc64: Handle additional cases of no fault loads
  sparc64: speed up etrap/rtrap on NG2 and later processors
  sparc64: vcc: make ktermios const
  sparc: leon: grpci1: constify of_device_id
  sparc: leon: grpci2: constify of_device_id
  sparc64: vcc: Check for IS_ERR() instead of NULL
  sparc64: Cleanup hugepage table walk functions
  sparc64: Add 16GB hugepage support
  sparc64: Support huge PUD case in get_user_pages
  sparc64: vcc: Add install & cleanup TTY operations
  sparc64: vcc: Add break_ctl TTY operation
  sparc64: vcc: Add chars_in_buffer TTY operation
  sparc64: vcc: Add write & write_room TTY operations
  sparc64: vcc: Add hangup TTY operation
  sparc64: vcc: Add open & close TTY operations
  sparc64: vcc: Enable LDC event processing engine
  sparc64: vcc: Add RX & TX timer for delayed LDC operation
  sparc64: vcc: Create sysfs attribute group
  sparc64: vcc: Enable VCC port probe and removal
  sparc64: vcc: TTY driver initialization and cleanup
  ...
parents 4c2b5e0f b6fe1089
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -12489,6 +12489,7 @@ F: drivers/tty/serial/sunsab.h
F:	drivers/tty/serial/sunsu.c
F:	drivers/tty/serial/sunzilog.c
F:	drivers/tty/serial/sunzilog.h
F:	drivers/tty/vcc.c

SPARSE CHECKER
M:	"Christopher Li" <sparse@chrisli.org>
+1 −0
Original line number Diff line number Diff line
@@ -238,3 +238,4 @@ CONFIG_CRYPTO_TWOFISH=m
# CONFIG_CRYPTO_ANSI_CPRNG is not set
CONFIG_CRC16=m
CONFIG_LIBCRC32C=m
CONFIG_VCC=m
+7 −0
Original line number Diff line number Diff line
@@ -4,6 +4,13 @@
#include <asm/page.h>
#include <asm-generic/hugetlb.h>

#ifdef CONFIG_HUGETLB_PAGE
struct pud_huge_patch_entry {
	unsigned int addr;
	unsigned int insn;
};
extern struct pud_huge_patch_entry __pud_huge_patch, __pud_huge_patch_end;
#endif

void set_huge_pte_at(struct mm_struct *mm, unsigned long addr,
		     pte_t *ptep, pte_t pte);
+18 −0
Original line number Diff line number Diff line
@@ -298,6 +298,24 @@ unsigned long sun4v_cpu_stop(unsigned long cpuid);
unsigned long sun4v_cpu_yield(void);
#endif

/* cpu_poke()
 * TRAP:	HV_FAST_TRAP
 * FUNCTION:	HV_FAST_CPU_POKE
 * RET0:	status
 * ERRORS:	ENOCPU		cpuid refers to a CPU that does not exist
 *		EINVAL		cpuid is current CPU
 *
 * Poke CPU cpuid. If the target CPU is currently suspended having
 * invoked the cpu-yield service, that vCPU will be resumed.
 * Poke interrupts may only be sent to valid, non-local CPUs.
 * It is not legal to poke the current vCPU.
 */
#define HV_FAST_CPU_POKE                0x13

#ifndef __ASSEMBLY__
unsigned long sun4v_cpu_poke(unsigned long cpuid);
#endif

/* cpu_qconf()
 * TRAP:	HV_FAST_TRAP
 * FUNCTION:	HV_FAST_CPU_QCONF
+2 −1
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@

#define HPAGE_SHIFT		23
#define REAL_HPAGE_SHIFT	22
#define HPAGE_16GB_SHIFT	34
#define HPAGE_2GB_SHIFT		31
#define HPAGE_256MB_SHIFT	28
#define HPAGE_64K_SHIFT		16
@@ -28,7 +29,7 @@
#define HUGETLB_PAGE_ORDER	(HPAGE_SHIFT - PAGE_SHIFT)
#define HAVE_ARCH_HUGETLB_UNMAPPED_AREA
#define REAL_HPAGE_PER_HPAGE	(_AC(1,UL) << (HPAGE_SHIFT - REAL_HPAGE_SHIFT))
#define HUGE_MAX_HSTATE		4
#define HUGE_MAX_HSTATE		5
#endif

#ifndef __ASSEMBLY__
Loading