Skip to content

Commit

Permalink
Merge tag 'microblaze-4.13-rc1' of git://git.monstr.eu/linux-2.6-micr…
Browse files Browse the repository at this point in the history
…oblaze

Pull microblaze updates from Michal Simek:

 - timer fix

 - use simplified macro in dma.c

 - wire-up new syscall

 - remove asp-generic wrappers

 - fix MMU table handling

 - defconfig updates

 - low-level entry.S changes

* tag 'microblaze-4.13-rc1' of git://git.monstr.eu/linux-2.6-microblaze:
  microblaze: Fix MSR flags when returning from exception
  microblaze: Separate GP registers from MSR handling
  microblaze: Enabling CONFIG_BRIDGE in mmu_defconfig
  microblaze: Enabling CONFIGS related to MTD
  microblaze: Update defconfigs
  microblaze: mm: Flush TLB to ensure correct mapping when higmem ON
  microblaze: remove asm-generic wrapper headers
  microblaze: wire up statx syscall
  microblaze: Set ->min_delta_ticks and ->max_delta_ticks for timer
  microblaze: use sg_phys()
  • Loading branch information
Linus Torvalds committed Jul 3, 2017
2 parents 241e5e6 + 14ef905 commit 058e88d
Show file tree
Hide file tree
Showing 54 changed files with 90 additions and 98 deletions.
16 changes: 7 additions & 9 deletions arch/microblaze/configs/mmu_defconfig
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
CONFIG_SYSVIPC=y
CONFIG_POSIX_MQUEUE=y
CONFIG_FHANDLE=y
CONFIG_AUDIT=y
CONFIG_AUDIT_LOGINUID_IMMUTABLE=y
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
CONFIG_SYSFS_DEPRECATED=y
Expand Down Expand Up @@ -33,10 +31,12 @@ CONFIG_NET=y
CONFIG_PACKET=y
CONFIG_UNIX=y
CONFIG_INET=y
# CONFIG_INET_LRO is not set
# CONFIG_IPV6 is not set
CONFIG_BRIDGE=m
CONFIG_MTD=y
CONFIG_PROC_DEVICETREE=y
CONFIG_MTD_CFI=y
CONFIG_MTD_CFI_INTELEXT=y
CONFIG_MTD_CFI_AMDSTD=y
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_SIZE=8192
CONFIG_NETDEVICES=y
Expand All @@ -47,9 +47,9 @@ CONFIG_XILINX_LL_TEMAC=y
# CONFIG_VT is not set
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_OF_PLATFORM=y
CONFIG_SERIAL_UARTLITE=y
CONFIG_SERIAL_UARTLITE_CONSOLE=y
CONFIG_SERIAL_OF_PLATFORM=y
# CONFIG_HW_RANDOM is not set
CONFIG_XILINX_HWICAP=y
CONFIG_I2C=y
Expand All @@ -66,7 +66,6 @@ CONFIG_FB=y
CONFIG_FB_XILINX=y
# CONFIG_USB_SUPPORT is not set
CONFIG_UIO=y
CONFIG_UIO_PDRV=y
CONFIG_UIO_PDRV_GENIRQ=y
CONFIG_UIO_DMEM_GENIRQ=y
CONFIG_EXT2_FS=y
Expand All @@ -77,14 +76,13 @@ CONFIG_NFS_FS=y
CONFIG_CIFS=y
CONFIG_CIFS_STATS=y
CONFIG_CIFS_STATS2=y
CONFIG_DETECT_HUNG_TASK=y
CONFIG_DEBUG_INFO=y
CONFIG_DEBUG_SLAB=y
CONFIG_DETECT_HUNG_TASK=y
CONFIG_DEBUG_SPINLOCK=y
CONFIG_DEBUG_INFO=y
CONFIG_KGDB=y
CONFIG_KGDB_TESTS=y
CONFIG_KGDB_KDB=y
CONFIG_EARLY_PRINTK=y
CONFIG_KEYS=y
CONFIG_ENCRYPTED_KEYS=y
# CONFIG_CRYPTO_ANSI_CPRNG is not set
17 changes: 3 additions & 14 deletions arch/microblaze/configs/nommu_defconfig
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
CONFIG_EXPERIMENTAL=y
CONFIG_SYSVIPC=y
CONFIG_POSIX_MQUEUE=y
CONFIG_FHANDLE=y
CONFIG_AUDIT=y
CONFIG_AUDIT_LOGINUID_IMMUTABLE=y
CONFIG_BSD_PROCESS_ACCT=y
CONFIG_BSD_PROCESS_ACCT_V3=y
CONFIG_IKCONFIG=y
Expand Down Expand Up @@ -34,18 +31,15 @@ CONFIG_NET=y
CONFIG_PACKET=y
CONFIG_UNIX=y
CONFIG_INET=y
# CONFIG_INET_LRO is not set
# CONFIG_IPV6 is not set
CONFIG_MTD=y
CONFIG_MTD_CMDLINE_PARTS=y
CONFIG_MTD_CHAR=y
CONFIG_MTD_BLOCK=y
CONFIG_MTD_CFI=y
CONFIG_MTD_CFI_INTELEXT=y
CONFIG_MTD_CFI_AMDSTD=y
CONFIG_MTD_RAM=y
CONFIG_MTD_UCLINUX=y
CONFIG_PROC_DEVICETREE=y
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_SIZE=8192
CONFIG_NETDEVICES=y
Expand All @@ -56,9 +50,9 @@ CONFIG_XILINX_LL_TEMAC=y
# CONFIG_VT is not set
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_OF_PLATFORM=y
CONFIG_SERIAL_UARTLITE=y
CONFIG_SERIAL_UARTLITE_CONSOLE=y
CONFIG_SERIAL_OF_PLATFORM=y
# CONFIG_HW_RANDOM is not set
CONFIG_XILINX_HWICAP=y
CONFIG_I2C=y
Expand All @@ -74,21 +68,17 @@ CONFIG_XILINX_WATCHDOG=y
CONFIG_FB=y
CONFIG_FB_XILINX=y
# CONFIG_USB_SUPPORT is not set
CONFIG_UIO=y
CONFIG_UIO_PDRV=y
CONFIG_UIO_PDRV_GENIRQ=y
CONFIG_UIO_DMEM_GENIRQ=y
CONFIG_EXT2_FS=y
# CONFIG_DNOTIFY is not set
CONFIG_CRAMFS=y
CONFIG_ROMFS_FS=y
CONFIG_NFS_FS=y
CONFIG_NFS_V3_ACL=y
CONFIG_NLS=y
CONFIG_DETECT_HUNG_TASK=y
CONFIG_DEBUG_INFO=y
CONFIG_DEBUG_SLAB=y
CONFIG_DETECT_HUNG_TASK=y
CONFIG_DEBUG_SPINLOCK=y
CONFIG_DEBUG_INFO=y
CONFIG_EARLY_PRINTK=y
CONFIG_KEYS=y
CONFIG_ENCRYPTED_KEYS=y
Expand All @@ -97,4 +87,3 @@ CONFIG_CRYPTO_MD4=y
CONFIG_CRYPTO_MD5=y
CONFIG_CRYPTO_ARC4=y
CONFIG_CRYPTO_DES=y
# CONFIG_CRYPTO_ANSI_CPRNG is not set
45 changes: 44 additions & 1 deletion arch/microblaze/include/asm/Kbuild
Original file line number Diff line number Diff line change
@@ -1,14 +1,57 @@

generic-y += barrier.h
generic-y += bitops.h
generic-y += bitsperlong.h
generic-y += bug.h
generic-y += bugs.h
generic-y += clkdev.h
generic-y += device.h
generic-y += div64.h
generic-y += emergency-restart.h
generic-y += errno.h
generic-y += exec.h
generic-y += extable.h
generic-y += fb.h
generic-y += fcntl.h
generic-y += hardirq.h
generic-y += ioctl.h
generic-y += ioctls.h
generic-y += ipcbuf.h
generic-y += irq_regs.h
generic-y += irq_work.h
generic-y += kdebug.h
generic-y += kmap_types.h
generic-y += kprobes.h
generic-y += linkage.h
generic-y += local.h
generic-y += local64.h
generic-y += mcs_spinlock.h
generic-y += mm-arch-hooks.h
generic-y += mman.h
generic-y += msgbuf.h
generic-y += param.h
generic-y += parport.h
generic-y += percpu.h
generic-y += poll.h
generic-y += preempt.h
generic-y += resource.h
generic-y += sembuf.h
generic-y += serial.h
generic-y += shmbuf.h
generic-y += shmparam.h
generic-y += siginfo.h
generic-y += signal.h
generic-y += socket.h
generic-y += sockios.h
generic-y += stat.h
generic-y += statfs.h
generic-y += swab.h
generic-y += syscalls.h
generic-y += termbits.h
generic-y += termios.h
generic-y += topology.h
generic-y += trace_clock.h
generic-y += ucontext.h
generic-y += vga.h
generic-y += word-at-a-time.h
generic-y += kprobes.h
generic-y += xor.h
1 change: 0 additions & 1 deletion arch/microblaze/include/asm/bitops.h

This file was deleted.

1 change: 0 additions & 1 deletion arch/microblaze/include/asm/bug.h

This file was deleted.

1 change: 0 additions & 1 deletion arch/microblaze/include/asm/bugs.h

This file was deleted.

1 change: 0 additions & 1 deletion arch/microblaze/include/asm/div64.h

This file was deleted.

1 change: 0 additions & 1 deletion arch/microblaze/include/asm/emergency-restart.h

This file was deleted.

1 change: 0 additions & 1 deletion arch/microblaze/include/asm/fb.h

This file was deleted.

1 change: 0 additions & 1 deletion arch/microblaze/include/asm/hardirq.h

This file was deleted.

1 change: 0 additions & 1 deletion arch/microblaze/include/asm/irq_regs.h

This file was deleted.

1 change: 0 additions & 1 deletion arch/microblaze/include/asm/kdebug.h

This file was deleted.

6 changes: 0 additions & 6 deletions arch/microblaze/include/asm/kmap_types.h

This file was deleted.

1 change: 0 additions & 1 deletion arch/microblaze/include/asm/linkage.h

This file was deleted.

1 change: 0 additions & 1 deletion arch/microblaze/include/asm/local.h

This file was deleted.

1 change: 0 additions & 1 deletion arch/microblaze/include/asm/local64.h

This file was deleted.

1 change: 0 additions & 1 deletion arch/microblaze/include/asm/parport.h

This file was deleted.

1 change: 0 additions & 1 deletion arch/microblaze/include/asm/percpu.h

This file was deleted.

1 change: 0 additions & 1 deletion arch/microblaze/include/asm/serial.h

This file was deleted.

1 change: 0 additions & 1 deletion arch/microblaze/include/asm/shmparam.h

This file was deleted.

1 change: 0 additions & 1 deletion arch/microblaze/include/asm/topology.h

This file was deleted.

1 change: 0 additions & 1 deletion arch/microblaze/include/asm/ucontext.h

This file was deleted.

2 changes: 1 addition & 1 deletion arch/microblaze/include/asm/unistd.h
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,6 @@

#endif /* __ASSEMBLY__ */

#define __NR_syscalls 398
#define __NR_syscalls 399

#endif /* _ASM_MICROBLAZE_UNISTD_H */
1 change: 0 additions & 1 deletion arch/microblaze/include/asm/vga.h

This file was deleted.

1 change: 0 additions & 1 deletion arch/microblaze/include/asm/xor.h

This file was deleted.

1 change: 0 additions & 1 deletion arch/microblaze/include/uapi/asm/bitsperlong.h

This file was deleted.

1 change: 0 additions & 1 deletion arch/microblaze/include/uapi/asm/errno.h

This file was deleted.

1 change: 0 additions & 1 deletion arch/microblaze/include/uapi/asm/fcntl.h

This file was deleted.

1 change: 0 additions & 1 deletion arch/microblaze/include/uapi/asm/ioctl.h

This file was deleted.

1 change: 0 additions & 1 deletion arch/microblaze/include/uapi/asm/ioctls.h

This file was deleted.

1 change: 0 additions & 1 deletion arch/microblaze/include/uapi/asm/ipcbuf.h

This file was deleted.

1 change: 0 additions & 1 deletion arch/microblaze/include/uapi/asm/kvm_para.h

This file was deleted.

1 change: 0 additions & 1 deletion arch/microblaze/include/uapi/asm/mman.h

This file was deleted.

1 change: 0 additions & 1 deletion arch/microblaze/include/uapi/asm/msgbuf.h

This file was deleted.

1 change: 0 additions & 1 deletion arch/microblaze/include/uapi/asm/param.h

This file was deleted.

1 change: 0 additions & 1 deletion arch/microblaze/include/uapi/asm/poll.h

This file was deleted.

1 change: 0 additions & 1 deletion arch/microblaze/include/uapi/asm/resource.h

This file was deleted.

1 change: 0 additions & 1 deletion arch/microblaze/include/uapi/asm/sembuf.h

This file was deleted.

1 change: 0 additions & 1 deletion arch/microblaze/include/uapi/asm/shmbuf.h

This file was deleted.

1 change: 0 additions & 1 deletion arch/microblaze/include/uapi/asm/siginfo.h

This file was deleted.

1 change: 0 additions & 1 deletion arch/microblaze/include/uapi/asm/signal.h

This file was deleted.

1 change: 0 additions & 1 deletion arch/microblaze/include/uapi/asm/socket.h

This file was deleted.

1 change: 0 additions & 1 deletion arch/microblaze/include/uapi/asm/sockios.h

This file was deleted.

1 change: 0 additions & 1 deletion arch/microblaze/include/uapi/asm/stat.h

This file was deleted.

1 change: 0 additions & 1 deletion arch/microblaze/include/uapi/asm/statfs.h

This file was deleted.

1 change: 0 additions & 1 deletion arch/microblaze/include/uapi/asm/swab.h

This file was deleted.

1 change: 0 additions & 1 deletion arch/microblaze/include/uapi/asm/termbits.h

This file was deleted.

1 change: 0 additions & 1 deletion arch/microblaze/include/uapi/asm/termios.h

This file was deleted.

1 change: 1 addition & 0 deletions arch/microblaze/include/uapi/asm/unistd.h
Original file line number Diff line number Diff line change
Expand Up @@ -413,5 +413,6 @@
#define __NR_pkey_mprotect 395
#define __NR_pkey_alloc 396
#define __NR_pkey_free 397
#define __NR_statx 398

#endif /* _UAPI_ASM_MICROBLAZE_UNISTD_H */
3 changes: 1 addition & 2 deletions arch/microblaze/kernel/dma.c
Original file line number Diff line number Diff line change
Expand Up @@ -65,8 +65,7 @@ static int dma_direct_map_sg(struct device *dev, struct scatterlist *sgl,
if (attrs & DMA_ATTR_SKIP_CPU_SYNC)
continue;

__dma_sync(page_to_phys(sg_page(sg)) + sg->offset,
sg->length, direction);
__dma_sync(sg_phys(sg), sg->length, direction);
}

return nents;
Expand Down
28 changes: 19 additions & 9 deletions arch/microblaze/kernel/entry.S
Original file line number Diff line number Diff line change
Expand Up @@ -208,9 +208,7 @@ syscall_debug_table:
mfs r11, rmsr; /* save MSR */ \
swi r11, r1, PT_MSR;

#define RESTORE_REGS \
lwi r11, r1, PT_MSR; \
mts rmsr , r11; \
#define RESTORE_REGS_GP \
lwi r2, r1, PT_R2; /* restore SDA */ \
lwi r3, r1, PT_R3; \
lwi r4, r1, PT_R4; \
Expand Down Expand Up @@ -242,6 +240,18 @@ syscall_debug_table:
lwi r30, r1, PT_R30; \
lwi r31, r1, PT_R31; /* Restore cur task reg */

#define RESTORE_REGS \
lwi r11, r1, PT_MSR; \
mts rmsr , r11; \
RESTORE_REGS_GP

#define RESTORE_REGS_RTBD \
lwi r11, r1, PT_MSR; \
andni r11, r11, MSR_EIP; /* clear EIP */ \
ori r11, r11, MSR_EE | MSR_BIP; /* set EE and BIP */ \
mts rmsr , r11; \
RESTORE_REGS_GP

#define SAVE_STATE \
swi r1, r0, TOPHYS(PER_CPU(ENTRY_SP)); /* save stack */ \
/* See if already in kernel mode.*/ \
Expand Down Expand Up @@ -427,7 +437,7 @@ C_ENTRY(ret_from_trap):
swi CURRENT_TASK, r0, PER_CPU(CURRENT_SAVE); /* save current */
VM_OFF;
tophys(r1,r1);
RESTORE_REGS;
RESTORE_REGS_RTBD;
addik r1, r1, PT_SIZE /* Clean up stack space. */
lwi r1, r1, PT_R1 - PT_SIZE;/* Restore user stack pointer. */
bri 6f;
Expand All @@ -436,7 +446,7 @@ C_ENTRY(ret_from_trap):
2: set_bip; /* Ints masked for state restore */
VM_OFF;
tophys(r1,r1);
RESTORE_REGS;
RESTORE_REGS_RTBD;
addik r1, r1, PT_SIZE /* Clean up stack space. */
tovirt(r1,r1);
6:
Expand Down Expand Up @@ -612,7 +622,7 @@ C_ENTRY(ret_from_exc):
VM_OFF;
tophys(r1,r1);

RESTORE_REGS;
RESTORE_REGS_RTBD;
addik r1, r1, PT_SIZE /* Clean up stack space. */

lwi r1, r1, PT_R1 - PT_SIZE; /* Restore user stack pointer. */
Expand All @@ -621,7 +631,7 @@ C_ENTRY(ret_from_exc):
2: set_bip; /* Ints masked for state restore */
VM_OFF;
tophys(r1,r1);
RESTORE_REGS;
RESTORE_REGS_RTBD;
addik r1, r1, PT_SIZE /* Clean up stack space. */

tovirt(r1,r1);
Expand Down Expand Up @@ -847,7 +857,7 @@ dbtrap_call: /* Return point for kernel/user entry + 8 because of rtsd r15, 8 */
VM_OFF;
tophys(r1,r1);
/* MS: Restore all regs */
RESTORE_REGS
RESTORE_REGS_RTBD
addik r1, r1, PT_SIZE /* Clean up stack space */
lwi r1, r1, PT_R1 - PT_SIZE; /* Restore user stack pointer */
DBTRAP_return_user: /* MS: Make global symbol for debugging */
Expand All @@ -858,7 +868,7 @@ DBTRAP_return_user: /* MS: Make global symbol for debugging */
2: VM_OFF;
tophys(r1,r1);
/* MS: Restore all regs */
RESTORE_REGS
RESTORE_REGS_RTBD
lwi r14, r1, PT_R14;
lwi r16, r1, PT_PC;
addik r1, r1, PT_SIZE; /* MS: Clean up stack space */
Expand Down
1 change: 1 addition & 0 deletions arch/microblaze/kernel/syscall_table.S
Original file line number Diff line number Diff line change
Expand Up @@ -398,3 +398,4 @@ ENTRY(sys_call_table)
.long sys_pkey_mprotect /* 395 */
.long sys_pkey_alloc
.long sys_pkey_free
.long sys_statx
Loading

0 comments on commit 058e88d

Please sign in to comment.