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

Commit 6470812e authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull sparc fixes from David Miller:
 "Just a couple small fixes, two of which have to do with gcc-7:

   1) Don't clobber kernel fixed registers in __multi4 libgcc helper.

   2) Fix a new uninitialized variable warning on sparc32 with gcc-7,
      from Thomas Petazzoni.

   3) Adjust pmd_t initializer on sparc32 to make gcc happy.

   4) If ATU isn't available, don't bark in the logs. From Tushar Dave"

* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
  sparc: kernel/pcic: silence gcc 7.x warning in pcibios_fixup_bus()
  sparc64: remove unnecessary log message
  sparc64: Don't clibber fixed registers in __multi4.
  mm: add pmd_t initializer __pmd() to work around a GCC bug.
parents 05ab303b 2dc77533
Loading
Loading
Loading
Loading
+2 −0
Original line number Original line Diff line number Diff line
@@ -68,6 +68,7 @@ typedef struct { unsigned long iopgprot; } iopgprot_t;
#define iopgprot_val(x)	((x).iopgprot)
#define iopgprot_val(x)	((x).iopgprot)


#define __pte(x)	((pte_t) { (x) } )
#define __pte(x)	((pte_t) { (x) } )
#define __pmd(x)	((pmd_t) { { (x) }, })
#define __iopte(x)	((iopte_t) { (x) } )
#define __iopte(x)	((iopte_t) { (x) } )
#define __pgd(x)	((pgd_t) { (x) } )
#define __pgd(x)	((pgd_t) { (x) } )
#define __ctxd(x)	((ctxd_t) { (x) } )
#define __ctxd(x)	((ctxd_t) { (x) } )
@@ -95,6 +96,7 @@ typedef unsigned long iopgprot_t;
#define iopgprot_val(x)	(x)
#define iopgprot_val(x)	(x)


#define __pte(x)	(x)
#define __pte(x)	(x)
#define __pmd(x)	((pmd_t) { { (x) }, })
#define __iopte(x)	(x)
#define __iopte(x)	(x)
#define __pgd(x)	(x)
#define __pgd(x)	(x)
#define __ctxd(x)	(x)
#define __ctxd(x)	(x)
+0 −2
Original line number Original line Diff line number Diff line
@@ -1266,8 +1266,6 @@ static int pci_sun4v_probe(struct platform_device *op)
			 * ATU group, but ATU hcalls won't be available.
			 * ATU group, but ATU hcalls won't be available.
			 */
			 */
			hv_atu = false;
			hv_atu = false;
			pr_err(PFX "Could not register hvapi ATU err=%d\n",
			       err);
		} else {
		} else {
			pr_info(PFX "Registered hvapi ATU major[%lu] minor[%lu]\n",
			pr_info(PFX "Registered hvapi ATU major[%lu] minor[%lu]\n",
				vatu_major, vatu_minor);
				vatu_major, vatu_minor);
+1 −1
Original line number Original line Diff line number Diff line
@@ -602,7 +602,7 @@ void pcibios_fixup_bus(struct pci_bus *bus)
{
{
	struct pci_dev *dev;
	struct pci_dev *dev;
	int i, has_io, has_mem;
	int i, has_io, has_mem;
	unsigned int cmd;
	unsigned int cmd = 0;
	struct linux_pcic *pcic;
	struct linux_pcic *pcic;
	/* struct linux_pbm_info* pbm = &pcic->pbm; */
	/* struct linux_pbm_info* pbm = &pcic->pbm; */
	int node;
	int node;
+12 −12
Original line number Original line Diff line number Diff line
@@ -5,26 +5,26 @@
	.align	4
	.align	4
ENTRY(__multi3) /* %o0 = u, %o1 = v */
ENTRY(__multi3) /* %o0 = u, %o1 = v */
	mov	%o1, %g1
	mov	%o1, %g1
	srl	%o3, 0, %g4
	srl	%o3, 0, %o4
	mulx	%g4, %g1, %o1
	mulx	%o4, %g1, %o1
	srlx	%g1, 0x20, %g3
	srlx	%g1, 0x20, %g3
	mulx	%g3, %g4, %g5
	mulx	%g3, %o4, %g7
	sllx	%g5, 0x20, %o5
	sllx	%g7, 0x20, %o5
	srl	%g1, 0, %g4
	srl	%g1, 0, %o4
	sub	%o1, %o5, %o5
	sub	%o1, %o5, %o5
	srlx	%o5, 0x20, %o5
	srlx	%o5, 0x20, %o5
	addcc	%g5, %o5, %g5
	addcc	%g7, %o5, %g7
	srlx	%o3, 0x20, %o5
	srlx	%o3, 0x20, %o5
	mulx	%g4, %o5, %g4
	mulx	%o4, %o5, %o4
	mulx	%g3, %o5, %o5
	mulx	%g3, %o5, %o5
	sethi	%hi(0x80000000), %g3
	sethi	%hi(0x80000000), %g3
	addcc	%g5, %g4, %g5
	addcc	%g7, %o4, %g7
	srlx	%g5, 0x20, %g5
	srlx	%g7, 0x20, %g7
	add	%g3, %g3, %g3
	add	%g3, %g3, %g3
	movcc	%xcc, %g0, %g3
	movcc	%xcc, %g0, %g3
	addcc	%o5, %g5, %o5
	addcc	%o5, %g7, %o5
	sllx	%g4, 0x20, %g4
	sllx	%o4, 0x20, %o4
	add	%o1, %g4, %o1
	add	%o1, %o4, %o1
	add	%o5, %g3, %g2
	add	%o5, %g3, %g2
	mulx	%g1, %o2, %g1
	mulx	%g1, %o2, %g1
	add	%g1, %g2, %g1
	add	%g1, %g2, %g1