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

Commit 6f58d795 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6:
  [SPARC64]: exec PT_DTRACE
  [SPARC64]: Use shorter list_splice_init() for brevity.
  [SPARC64]: Remove most limitations to kernel image size.
parents ca1a6ba5 6d008153
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -972,8 +972,7 @@ static void process_ds_work(void)
	LIST_HEAD(todo);

	spin_lock_irqsave(&ds_lock, flags);
	list_splice(&ds_work_list, &todo);
	INIT_LIST_HEAD(&ds_work_list);
	list_splice_init(&ds_work_list, &todo);
	spin_unlock_irqrestore(&ds_lock, flags);

	list_for_each_entry_safe(qp, tmp, &todo, list) {
+6 −2
Original line number Diff line number Diff line
@@ -288,8 +288,12 @@ sun4v_chip_type:
	/* Leave arg2 as-is, prom_mmu_ihandle_cache */
	mov	-1, %l3
	stx	%l3, [%sp + 2047 + 128 + 0x28]	! arg3: mode (-1 default)
	sethi	%hi(8 * 1024 * 1024), %l3
	stx	%l3, [%sp + 2047 + 128 + 0x30]	! arg4: size (8MB)
	/* 4MB align the kernel image size. */
	set	(_end - KERNBASE), %l3
	set	((4 * 1024 * 1024) - 1), %l4
	add	%l3, %l4, %l3
	andn	%l3, %l4, %l3
	stx	%l3, [%sp + 2047 + 128 + 0x30]	! arg4: roundup(ksize, 4MB)
	sethi	%hi(KERNBASE), %l3
	stx	%l3, [%sp + 2047 + 128 + 0x38]	! arg5: vaddr (KERNBASE)
	stx	%g0, [%sp + 2047 + 128 + 0x40]	! arg6: empty
+0 −3
Original line number Diff line number Diff line
@@ -731,9 +731,6 @@ asmlinkage int sparc_execve(struct pt_regs *regs)
		current_thread_info()->xfsr[0] = 0;
		current_thread_info()->fpsaved[0] = 0;
		regs->tstate &= ~TSTATE_PEF;
		task_lock(current);
		current->ptrace &= ~PT_DTRACE;
		task_unlock(current);
	}
out:
	return error;
+9 −8
Original line number Diff line number Diff line
@@ -284,14 +284,17 @@ static void ldom_startcpu_cpuid(unsigned int cpu, unsigned long thread_reg)
{
	extern unsigned long sparc64_ttable_tl0;
	extern unsigned long kern_locked_tte_data;
	extern int bigkernel;
	struct hvtramp_descr *hdesc;
	unsigned long trampoline_ra;
	struct trap_per_cpu *tb;
	u64 tte_vaddr, tte_data;
	unsigned long hv_err;
	int i;

	hdesc = kzalloc(sizeof(*hdesc), GFP_KERNEL);
	hdesc = kzalloc(sizeof(*hdesc) +
			(sizeof(struct hvtramp_mapping) *
			 num_kernel_image_mappings - 1),
			GFP_KERNEL);
	if (!hdesc) {
		printk(KERN_ERR "ldom_startcpu_cpuid: Cannot allocate "
		       "hvtramp_descr.\n");
@@ -299,7 +302,7 @@ static void ldom_startcpu_cpuid(unsigned int cpu, unsigned long thread_reg)
	}

	hdesc->cpu = cpu;
	hdesc->num_mappings = (bigkernel ? 2 : 1);
	hdesc->num_mappings = num_kernel_image_mappings;

	tb = &trap_block[cpu];
	tb->hdesc = hdesc;
@@ -312,13 +315,11 @@ static void ldom_startcpu_cpuid(unsigned int cpu, unsigned long thread_reg)
	tte_vaddr = (unsigned long) KERNBASE;
	tte_data = kern_locked_tte_data;

	hdesc->maps[0].vaddr = tte_vaddr;
	hdesc->maps[0].tte   = tte_data;
	if (bigkernel) {
	for (i = 0; i < hdesc->num_mappings; i++) {
		hdesc->maps[i].vaddr = tte_vaddr;
		hdesc->maps[i].tte   = tte_data;
		tte_vaddr += 0x400000;
		tte_data  += 0x400000;
		hdesc->maps[1].vaddr = tte_vaddr;
		hdesc->maps[1].tte   = tte_data;
	}

	trampoline_ra = kimage_addr_to_ra(hv_cpu_startup);
+0 −3
Original line number Diff line number Diff line
@@ -678,9 +678,6 @@ asmlinkage long sparc32_execve(struct pt_regs *regs)
		current_thread_info()->xfsr[0] = 0;
		current_thread_info()->fpsaved[0] = 0;
		regs->tstate &= ~TSTATE_PEF;
		task_lock(current);
		current->ptrace &= ~PT_DTRACE;
		task_unlock(current);
	}
out:
	return error;
Loading