Thread (78 messages) flat view 78 messages, 6 authors, 2010-06-29

Re: [PATCH 18/26] KVM: PPC: KVM PV guest stubs

From: Avi Kivity <hidden>
Date: 2010-06-27 08:28:44
Also in: kvm

On 06/26/2010 02:25 AM, Alexander Graf wrote:
We will soon start and replace instructions from the text section with
other, paravirtualized versions. To ease the readability of those patches
I split out the generic looping and magic page mapping code out.

This patch still only contains stubs. But at least it loops through the
text section :).


+
+static void kvm_check_ins(u32 *inst)
+{
+	u32 _inst = *inst;
+	u32 inst_no_rt = _inst&  ~KVM_MASK_RT;
+	u32 inst_rt = _inst&  KVM_MASK_RT;
+
+	switch (inst_no_rt) {
+	}
+
+	switch (_inst) {
+	}
+
+	flush_icache_range((ulong)inst, (ulong)inst + 4);
+}
   
Shouldn't we flush only if we patched something?
+
+static void kvm_use_magic_page(void)
+{
+	u32 *p;
+	u32 *start, *end;
+
+	/* Tell the host to map the magic page to -4096 on all CPUs */
+
+	on_each_cpu(kvm_map_magic_page, NULL, 1);
+
+	/* Now loop through all code and find instructions */
+
+	start = (void*)_stext;
+	end = (void*)_etext;
+
+	for (p = start; p<  end; p++)
+		kvm_check_ins(p);
+}
+
   
Or, flush the entire thing here.


-- 
error compiling committee.c: too many arguments to function
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help