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

Commit aacea90f authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull two sparc fixes from David S. Miller.

* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
  sparc64: Be less verbose during vmemmap population.
  sparc64: do not clobber personality flags in sys_sparc64_personality()
parents ddf343f6 2856cc2e
Loading
Loading
Loading
Loading
+5 −5
Original line number Original line Diff line number Diff line
@@ -502,12 +502,12 @@ SYSCALL_DEFINE1(sparc64_personality, unsigned long, personality)
{
{
	int ret;
	int ret;


	if (current->personality == PER_LINUX32 &&
	if (personality(current->personality) == PER_LINUX32 &&
	    personality == PER_LINUX)
	    personality(personality) == PER_LINUX)
		personality = PER_LINUX32;
		personality |= PER_LINUX32;
	ret = sys_personality(personality);
	ret = sys_personality(personality);
	if (ret == PER_LINUX32)
	if (personality(ret) == PER_LINUX32)
		ret = PER_LINUX;
		ret &= ~PER_LINUX32;


	return ret;
	return ret;
}
}
+23 −5
Original line number Original line Diff line number Diff line
@@ -2020,6 +2020,9 @@ EXPORT_SYMBOL(_PAGE_CACHE);
#ifdef CONFIG_SPARSEMEM_VMEMMAP
#ifdef CONFIG_SPARSEMEM_VMEMMAP
unsigned long vmemmap_table[VMEMMAP_SIZE];
unsigned long vmemmap_table[VMEMMAP_SIZE];


static long __meminitdata addr_start, addr_end;
static int __meminitdata node_start;

int __meminit vmemmap_populate(struct page *start, unsigned long nr, int node)
int __meminit vmemmap_populate(struct page *start, unsigned long nr, int node)
{
{
	unsigned long vstart = (unsigned long) start;
	unsigned long vstart = (unsigned long) start;
@@ -2050,15 +2053,30 @@ int __meminit vmemmap_populate(struct page *start, unsigned long nr, int node)


			*vmem_pp = pte_base | __pa(block);
			*vmem_pp = pte_base | __pa(block);


			printk(KERN_INFO "[%p-%p] page_structs=%lu "
			/* check to see if we have contiguous blocks */
			       "node=%d entry=%lu/%lu\n", start, block, nr,
			if (addr_end != addr || node_start != node) {
			       node,
				if (addr_start)
			       addr >> VMEMMAP_CHUNK_SHIFT,
					printk(KERN_DEBUG " [%lx-%lx] on node %d\n",
			       VMEMMAP_SIZE);
					       addr_start, addr_end-1, node_start);
				addr_start = addr;
				node_start = node;
			}
			addr_end = addr + VMEMMAP_CHUNK;
		}
		}
	}
	}
	return 0;
	return 0;
}
}

void __meminit vmemmap_populate_print_last(void)
{
	if (addr_start) {
		printk(KERN_DEBUG " [%lx-%lx] on node %d\n",
		       addr_start, addr_end-1, node_start);
		addr_start = 0;
		addr_end = 0;
		node_start = 0;
	}
}
#endif /* CONFIG_SPARSEMEM_VMEMMAP */
#endif /* CONFIG_SPARSEMEM_VMEMMAP */


static void prot_init_common(unsigned long page_none,
static void prot_init_common(unsigned long page_none,