Skip to contentSkip to conversation

Modify lguest32 to make room for lguest64 (version 2)

PATCH In review Steven Rostedt 2 participants 19 messages Aug 9, 2007

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

cover Modify lguest32 to make room for lguest64 (version 2)

[
Changes since last version.
- Move lg.h to include/asm instead (suggested by Rusty Russel)
- All steps of the series compiles (suggested by Stephen Rothwell)
- Better ifdef header naming (suggested by Stephen Rothwell)
- Added Andi Kleen to CC (forgot to on V1)
]

Hi all,

I've been working on lguest64 and in order to do this, I had to move a lot of the i386 specific out of the way. Well, the lguest64 port is still not ready to display, but before Rusty makes too many changes I would like this in upstream so I don't have to keep repeating my changes :-)

So this patch series moves lguest32 out of the way for other archs.

-- Steve

#1 lore raw

PATCH 1/5 move lg.h to include/asm-<arch>

The lg.h file has lots of i386 specific information. Move it over to the asm directory where it belongs.

---
 arch/i386/kernel/asm-offsets.c        |    2 +-
 drivers/lguest/core.c                 |    2 +-
 drivers/lguest/hypercalls.c           |    2 +-
 drivers/lguest/interrupts_and_traps.c |    2 +-
 drivers/lguest/io.c                   |    2 +-
 drivers/lguest/lg.h                   |  300 ---------------------------------
 drivers/lguest/lguest_user.c          |    2 +-
 drivers/lguest/page_tables.c          |    2 +-
 drivers/lguest/segments.c             |    2 +-
 drivers/lguest/switcher.S             |    2 +-
 include/asm-i386/lg.h                 |  300 +++++++++++++++++++++++++++++++++
 11 files changed, 309 insertions(+), 309 deletions(-)
arch/i386/kernel/asm-offsets.c +1 -1
index 7288ac8..e426e51 100644
@@ -21,7 +21,7 @@
 
 #ifdef CONFIG_LGUEST_GUEST
 #include <linux/lguest.h>
-#include "../../../drivers/lguest/lg.h"
+#include <asm/lg.h>
 #endif
 
 #define DEFINE(sym, val) \
drivers/lguest/core.c +1 -1
index 0a46e88..e5f441d 100644
@@ -19,7 +19,7 @@
 #include <asm/highmem.h>
 #include <asm/asm-offsets.h>
 #include <asm/i387.h>
-#include "lg.h"
+#include <asm/lg.h>
 
 /* Found in switcher.S */
 extern char start_switcher_text[], end_switcher_text[], switch_to_guest[];
drivers/lguest/hypercalls.c +1 -1
index db6caac..0ddb133 100644
@@ -26,7 +26,7 @@
 #include <asm/page.h>
 #include <asm/pgtable.h>
 #include <irq_vectors.h>
-#include "lg.h"
+#include <asm/lg.h>
 
 /*H:120 This is the core hypercall routine: where the Guest gets what it
  * wants.  Or gets killed.  Or, in the case of LHCALL_CRASH, both.
drivers/lguest/interrupts_and_traps.c +1 -1
index 49787e9..899e681 100644
@@ -12,7 +12,7 @@
  * them first, so we also have a way of "reflecting" them into the Guest as if
  * they had been delivered to it directly. :*/
 #include <linux/uaccess.h>
-#include "lg.h"
+#include <asm/lg.h>
 
 /* The address of the interrupt handler is split into two bits: */
 static unsigned long idt_address(u32 lo, u32 hi)
drivers/lguest/io.c +1 -1
index ea68613..091a46d 100644
@@ -25,7 +25,7 @@
 #include <linux/mm.h>
 #include <linux/highmem.h>
 #include <linux/uaccess.h>
-#include "lg.h"
+#include <asm/lg.h>
 
 /*L:300
  * I/O
drivers/lguest/lg.h deleted +0 -300

300 lines not on this page · raw message

drivers/lguest/lguest_user.c +1 -1
index 80d1b58..a29d85b 100644
@@ -7,7 +7,7 @@
 #include <linux/uaccess.h>
 #include <linux/miscdevice.h>
 #include <linux/fs.h>
-#include "lg.h"
+#include <asm/lg.h>
 
 /*L:030 setup_regs() doesn't really belong in this file, but it gives us an
  * early glimpse deeper into the Host so it's worth having here.
drivers/lguest/page_tables.c +1 -1
index b7a924a..db3dd8b 100644
@@ -13,7 +13,7 @@
 #include <linux/random.h>
 #include <linux/percpu.h>
 #include <asm/tlbflush.h>
-#include "lg.h"
+#include <asm/lg.h>
 
 /*M:008 We hold reference to pages, which prevents them from being swapped.
  * It'd be nice to have a callback in the "struct mm_struct" when Linux wants
drivers/lguest/segments.c +1 -1
index f675a41..1d16d5d 100644
@@ -9,7 +9,7 @@
  * In these modern times, the segment handling code consists of simple sanity
  * checks, and the worst you'll experience reading this code is butterfly-rash
  * from frolicking through its parklike serenity. :*/
-#include "lg.h"
+#include <asm/lg.h>
 
 /*H:600
  * We've almost completed the Host; there's just one file to go!
drivers/lguest/switcher.S +1 -1
index d418179..40382f6 100644
@@ -47,7 +47,7 @@
 // Down here in the depths of assembler code.
 #include <linux/linkage.h>
 #include <asm/asm-offsets.h>
-#include "lg.h"
+#include <asm/lg.h>
 
 // We mark the start of the code to copy
 // It's placed in .text tho it's never run here
include/asm-i386/lg.h new file +300 -0

300 lines not on this page · raw message

Signature · 3 lines
1.4.4.4

-- 
#2 lore raw

PATCH 1/5 move lg.h to include/asm-<arch>

In reply to Steven Rostedt

The lg.h file has lots of i386 specific information. Move it over to the asm directory where it belongs.

---
 arch/i386/kernel/asm-offsets.c        |    2 +-
 drivers/lguest/core.c                 |    2 +-
 drivers/lguest/hypercalls.c           |    2 +-
 drivers/lguest/interrupts_and_traps.c |    2 +-
 drivers/lguest/io.c                   |    2 +-
 drivers/lguest/lg.h                   |  300 ---------------------------------
 drivers/lguest/lguest_user.c          |    2 +-
 drivers/lguest/page_tables.c          |    2 +-
 drivers/lguest/segments.c             |    2 +-
 drivers/lguest/switcher.S             |    2 +-
 include/asm-i386/lg.h                 |  300 +++++++++++++++++++++++++++++++++
 11 files changed, 309 insertions(+), 309 deletions(-)
arch/i386/kernel/asm-offsets.c +1 -1
index 7288ac8..e426e51 100644
@@ -21,7 +21,7 @@
 
 #ifdef CONFIG_LGUEST_GUEST
 #include <linux/lguest.h>
-#include "../../../drivers/lguest/lg.h"
+#include <asm/lg.h>
 #endif
 
 #define DEFINE(sym, val) \
drivers/lguest/core.c +1 -1
index 0a46e88..e5f441d 100644
@@ -19,7 +19,7 @@
 #include <asm/highmem.h>
 #include <asm/asm-offsets.h>
 #include <asm/i387.h>
-#include "lg.h"
+#include <asm/lg.h>
 
 /* Found in switcher.S */
 extern char start_switcher_text[], end_switcher_text[], switch_to_guest[];
drivers/lguest/hypercalls.c +1 -1
index db6caac..0ddb133 100644
@@ -26,7 +26,7 @@
 #include <asm/page.h>
 #include <asm/pgtable.h>
 #include <irq_vectors.h>
-#include "lg.h"
+#include <asm/lg.h>
 
 /*H:120 This is the core hypercall routine: where the Guest gets what it
  * wants.  Or gets killed.  Or, in the case of LHCALL_CRASH, both.
drivers/lguest/interrupts_and_traps.c +1 -1
index 49787e9..899e681 100644
@@ -12,7 +12,7 @@
  * them first, so we also have a way of "reflecting" them into the Guest as if
  * they had been delivered to it directly. :*/
 #include <linux/uaccess.h>
-#include "lg.h"
+#include <asm/lg.h>
 
 /* The address of the interrupt handler is split into two bits: */
 static unsigned long idt_address(u32 lo, u32 hi)
drivers/lguest/io.c +1 -1
index ea68613..091a46d 100644
@@ -25,7 +25,7 @@
 #include <linux/mm.h>
 #include <linux/highmem.h>
 #include <linux/uaccess.h>
-#include "lg.h"
+#include <asm/lg.h>
 
 /*L:300
  * I/O
drivers/lguest/lg.h deleted +0 -300

300 lines not on this page · raw message

drivers/lguest/lguest_user.c +1 -1
index 80d1b58..a29d85b 100644
@@ -7,7 +7,7 @@
 #include <linux/uaccess.h>
 #include <linux/miscdevice.h>
 #include <linux/fs.h>
-#include "lg.h"
+#include <asm/lg.h>
 
 /*L:030 setup_regs() doesn't really belong in this file, but it gives us an
  * early glimpse deeper into the Host so it's worth having here.
drivers/lguest/page_tables.c +1 -1
index b7a924a..db3dd8b 100644
@@ -13,7 +13,7 @@
 #include <linux/random.h>
 #include <linux/percpu.h>
 #include <asm/tlbflush.h>
-#include "lg.h"
+#include <asm/lg.h>
 
 /*M:008 We hold reference to pages, which prevents them from being swapped.
  * It'd be nice to have a callback in the "struct mm_struct" when Linux wants
drivers/lguest/segments.c +1 -1
index f675a41..1d16d5d 100644
@@ -9,7 +9,7 @@
  * In these modern times, the segment handling code consists of simple sanity
  * checks, and the worst you'll experience reading this code is butterfly-rash
  * from frolicking through its parklike serenity. :*/
-#include "lg.h"
+#include <asm/lg.h>
 
 /*H:600
  * We've almost completed the Host; there's just one file to go!
drivers/lguest/switcher.S +1 -1
index d418179..40382f6 100644
@@ -47,7 +47,7 @@
 // Down here in the depths of assembler code.
 #include <linux/linkage.h>
 #include <asm/asm-offsets.h>
-#include "lg.h"
+#include <asm/lg.h>
 
 // We mark the start of the code to copy
 // It's placed in .text tho it's never run here
include/asm-i386/lg.h new file +300 -0

300 lines not on this page · raw message

Signature · 3 lines
1.4.4.4

-- 
#3 lore raw

PATCH 2/5 Change lguest launcher to use asm generic include

In reply to Steven Rostedt

Have the lguest launcher include e820.h via asm/e820.h instead of explicitly saying i386.

---
 Documentation/lguest/lguest.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
Documentation/lguest/lguest.c +1 -1
index f791840..eb7a01c 100644
@@ -46,7 +46,7 @@ typedef uint32_t u32;
 typedef uint16_t u16;
 typedef uint8_t u8;
 #include "../../include/linux/lguest_launcher.h"
-#include "../../include/asm-i386/e820.h"
+#include "../../include/asm/e820.h"
 /*:*/
 
 #define PAGE_PRESENT 0x7 	/* Present, RW, Execute */
Signature · 3 lines
1.4.4.4

-- 
#4 lore raw

PATCH 2/5 Change lguest launcher to use asm generic include

In reply to Steven Rostedt

Have the lguest launcher include e820.h via asm/e820.h instead of explicitly saying i386.

---
 Documentation/lguest/lguest.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
Documentation/lguest/lguest.c +1 -1
index f791840..eb7a01c 100644
@@ -46,7 +46,7 @@ typedef uint32_t u32;
 typedef uint16_t u16;
 typedef uint8_t u8;
 #include "../../include/linux/lguest_launcher.h"
-#include "../../include/asm-i386/e820.h"
+#include "../../include/asm/e820.h"
 /*:*/
 
 #define PAGE_PRESENT 0x7 	/* Present, RW, Execute */
Signature · 3 lines
1.4.4.4

-- 
#5 lore raw

PATCH 3/5 Remove __pa() use in hvc_lguest

In reply to Steven Rostedt

The hvc_lguest uses __pa in the const initialization.
In some architectures, __pa() is not constant so this fails in compiles.

---
 drivers/char/hvc_lguest.c |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)
drivers/char/hvc_lguest.c +7 -1
index feeccba..c7d7d4c 100644
@@ -42,7 +42,6 @@
  * use of physical address for the buffer itself. */
 static char inbuf[256];
 static struct lguest_dma cons_input = { .used_len = 0,
-					.addr[0] = __pa(inbuf),
 					.len[0] = sizeof(inbuf),
 					.len[1] = 0 };
 
@@ -114,6 +113,13 @@ static struct hv_ops lguest_cons = {
  * (0), and the struct hv_ops containing the put_chars() function. */
 static int __init cons_init(void)
 {
+	/*
+	 * We can't initialize using __pa in const declarations,
+	 * since __pa(inbuf) does not evaluate into a constant on
+	 * all architectures (namely x86_64).
+	 */
+	cons_input.addr[0] = __pa(inbuf);
+
 	if (strcmp(paravirt_ops.name, "lguest") != 0)
 		return 0;
 
Signature · 3 lines
1.4.4.4

-- 
#6 lore raw

PATCH 3/5 Remove __pa() use in hvc_lguest

In reply to Steven Rostedt

The hvc_lguest uses __pa in the const initialization.
In some architectures, __pa() is not constant so this fails in compiles.

---
 drivers/char/hvc_lguest.c |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)
drivers/char/hvc_lguest.c +7 -1
index feeccba..c7d7d4c 100644
@@ -42,7 +42,6 @@
  * use of physical address for the buffer itself. */
 static char inbuf[256];
 static struct lguest_dma cons_input = { .used_len = 0,
-					.addr[0] = __pa(inbuf),
 					.len[0] = sizeof(inbuf),
 					.len[1] = 0 };
 
@@ -114,6 +113,13 @@ static struct hv_ops lguest_cons = {
  * (0), and the struct hv_ops containing the put_chars() function. */
 static int __init cons_init(void)
 {
+	/*
+	 * We can't initialize using __pa in const declarations,
+	 * since __pa(inbuf) does not evaluate into a constant on
+	 * all architectures (namely x86_64).
+	 */
+	cons_input.addr[0] = __pa(inbuf);
+
 	if (strcmp(paravirt_ops.name, "lguest") != 0)
 		return 0;
 
Signature · 3 lines
1.4.4.4

-- 
#7 lore raw

PATCH 4/5 Added generic lg.h in the include/linux directory

In reply to Steven Rostedt

Add a generic lg.h that can be included from lguest files. This file will hold the data that can be shared across archs.

---
 arch/i386/kernel/asm-offsets.c        |    2 +-
 drivers/lguest/core.c                 |    2 +-
 drivers/lguest/hypercalls.c           |    2 +-
 drivers/lguest/interrupts_and_traps.c |    2 +-
 drivers/lguest/io.c                   |    2 +-
 drivers/lguest/lguest_user.c          |    2 +-
 drivers/lguest/page_tables.c          |    2 +-
 drivers/lguest/segments.c             |    2 +-
 include/asm-i386/lg.h                 |   24 ++----------------------
 include/linux/lg.h                    |   30 ++++++++++++++++++++++++++++++
 10 files changed, 40 insertions(+), 30 deletions(-)
arch/i386/kernel/asm-offsets.c +1 -1
index e426e51..d6d17e5 100644
@@ -21,7 +21,7 @@
 
 #ifdef CONFIG_LGUEST_GUEST
 #include <linux/lguest.h>
-#include <asm/lg.h>
+#include <linux/lg.h>
 #endif
 
 #define DEFINE(sym, val) \
drivers/lguest/core.c +1 -1
index e5f441d..5bcd237 100644
@@ -19,7 +19,7 @@
 #include <asm/highmem.h>
 #include <asm/asm-offsets.h>
 #include <asm/i387.h>
-#include <asm/lg.h>
+#include <linux/lg.h>
 
 /* Found in switcher.S */
 extern char start_switcher_text[], end_switcher_text[], switch_to_guest[];
drivers/lguest/hypercalls.c +1 -1
index 0ddb133..3c0d41e 100644
@@ -26,7 +26,7 @@
 #include <asm/page.h>
 #include <asm/pgtable.h>
 #include <irq_vectors.h>
-#include <asm/lg.h>
+#include <linux/lg.h>
 
 /*H:120 This is the core hypercall routine: where the Guest gets what it
  * wants.  Or gets killed.  Or, in the case of LHCALL_CRASH, both.
drivers/lguest/interrupts_and_traps.c +1 -1
index 899e681..3daf3e2 100644
@@ -12,7 +12,7 @@
  * them first, so we also have a way of "reflecting" them into the Guest as if
  * they had been delivered to it directly. :*/
 #include <linux/uaccess.h>
-#include <asm/lg.h>
+#include <linux/lg.h>
 
 /* The address of the interrupt handler is split into two bits: */
 static unsigned long idt_address(u32 lo, u32 hi)
drivers/lguest/io.c +1 -1
index 091a46d..d196121 100644
@@ -25,7 +25,7 @@
 #include <linux/mm.h>
 #include <linux/highmem.h>
 #include <linux/uaccess.h>
-#include <asm/lg.h>
+#include <linux/lg.h>
 
 /*L:300
  * I/O
drivers/lguest/lguest_user.c +1 -1
index a29d85b..2f477df 100644
@@ -7,7 +7,7 @@
 #include <linux/uaccess.h>
 #include <linux/miscdevice.h>
 #include <linux/fs.h>
-#include <asm/lg.h>
+#include <linux/lg.h>
 
 /*L:030 setup_regs() doesn't really belong in this file, but it gives us an
  * early glimpse deeper into the Host so it's worth having here.
drivers/lguest/page_tables.c +1 -1
index db3dd8b..812d56a 100644
@@ -13,7 +13,7 @@
 #include <linux/random.h>
 #include <linux/percpu.h>
 #include <asm/tlbflush.h>
-#include <asm/lg.h>
+#include <linux/lg.h>
 
 /*M:008 We hold reference to pages, which prevents them from being swapped.
  * It'd be nice to have a callback in the "struct mm_struct" when Linux wants
drivers/lguest/segments.c +1 -1
index 1d16d5d..351b13f 100644
@@ -9,7 +9,7 @@
  * In these modern times, the segment handling code consists of simple sanity
  * checks, and the worst you'll experience reading this code is butterfly-rash
  * from frolicking through its parklike serenity. :*/
-#include <asm/lg.h>
+#include <linux/lg.h>
 
 /*H:600
  * We've almost completed the Host; there's just one file to go!
include/asm-i386/lg.h +2 -22
index 64f0abe..c8e01c3 100644
@@ -1,5 +1,5 @@
-#ifndef _LGUEST_H
-#define _LGUEST_H
+#ifndef _I386_LGUEST_H
+#define _I386_LGUEST_H
 
 #include <asm/desc.h>
 
@@ -47,17 +47,6 @@ int init_pagetables(struct page **switcher_page, unsigned int pages);
 #define FULL_EXEC_SEGMENT ((struct desc_struct){0x0000ffff, 0x00cf9b00})
 #define FULL_SEGMENT ((struct desc_struct){0x0000ffff, 0x00cf9300})
 
-struct lguest_dma_info
-{
-	struct list_head list;
-	union futex_key key;
-	unsigned long dmas;
-	u16 next_dma;
-	u16 num_dmas;
-	u16 guestid;
-	u8 interrupt; 	/* 0 when not registered */
-};
-
 /*H:310 The page-table code owes a great debt of gratitude to Andi Kleen.  He
  * reviewed the original code which used "u32" for all page table entries, and
  * insisted that it would be far clearer with explicit typing.  I thought it
@@ -245,15 +234,6 @@ void pin_page(struct lguest *lg, unsigned long vaddr);
 int lguest_device_init(void);
 void lguest_device_remove(void);
 
-/* io.c: */
-void lguest_io_init(void);
-int bind_dma(struct lguest *lg,
-	     unsigned long key, unsigned long udma, u16 numdmas, u8 interrupt);
-void send_dma(struct lguest *info, unsigned long key, unsigned long udma);
-void release_all_dma(struct lguest *lg);
-unsigned long get_dma_buffer(struct lguest *lg, unsigned long key,
-			     unsigned long *interrupt);
-
 /* hypercalls.c: */
 void do_hypercalls(struct lguest *lg);
 void write_timestamp(struct lguest *lg);
include/linux/lg.h new file +30 -0
new file mode 100644
index 0000000..c533102
@@ -0,0 +1,30 @@
+#ifndef _LINUX_LGUEST_H
+#define _LINUX_LGUEST_H
+
+#include <linux/futex.h>
+
+struct lguest;
+
+/* io.c: */
+void lguest_io_init(void);
+int bind_dma(struct lguest *lg,
+	     unsigned long key, unsigned long udma, u16 numdmas, u8 interrupt);
+void send_dma(struct lguest *info, unsigned long key, unsigned long udma);
+void release_all_dma(struct lguest *lg);
+unsigned long get_dma_buffer(struct lguest *lg, unsigned long key,
+			     unsigned long *interrupt);
+
+struct lguest_dma_info
+{
+	struct list_head list;
+	union futex_key key;
+	unsigned long dmas;
+	u16 next_dma;
+	u16 num_dmas;
+	u16 guestid;
+	u8 interrupt; 	/* 0 when not registered */
+};
+
+#include <asm/lg.h>
+
+#endif /* _LINUX_LGUEST_H */
Signature · 3 lines
1.4.4.4

-- 
#8 lore raw

PATCH 4/5 Added generic lg.h in the include/linux directory

In reply to Steven Rostedt

Add a generic lg.h that can be included from lguest files. This file will hold the data that can be shared across archs.

---
 arch/i386/kernel/asm-offsets.c        |    2 +-
 drivers/lguest/core.c                 |    2 +-
 drivers/lguest/hypercalls.c           |    2 +-
 drivers/lguest/interrupts_and_traps.c |    2 +-
 drivers/lguest/io.c                   |    2 +-
 drivers/lguest/lguest_user.c          |    2 +-
 drivers/lguest/page_tables.c          |    2 +-
 drivers/lguest/segments.c             |    2 +-
 include/asm-i386/lg.h                 |   24 ++----------------------
 include/linux/lg.h                    |   30 ++++++++++++++++++++++++++++++
 10 files changed, 40 insertions(+), 30 deletions(-)
arch/i386/kernel/asm-offsets.c +1 -1
index e426e51..d6d17e5 100644
@@ -21,7 +21,7 @@
 
 #ifdef CONFIG_LGUEST_GUEST
 #include <linux/lguest.h>
-#include <asm/lg.h>
+#include <linux/lg.h>
 #endif
 
 #define DEFINE(sym, val) \
drivers/lguest/core.c +1 -1
index e5f441d..5bcd237 100644
@@ -19,7 +19,7 @@
 #include <asm/highmem.h>
 #include <asm/asm-offsets.h>
 #include <asm/i387.h>
-#include <asm/lg.h>
+#include <linux/lg.h>
 
 /* Found in switcher.S */
 extern char start_switcher_text[], end_switcher_text[], switch_to_guest[];
drivers/lguest/hypercalls.c +1 -1
index 0ddb133..3c0d41e 100644
@@ -26,7 +26,7 @@
 #include <asm/page.h>
 #include <asm/pgtable.h>
 #include <irq_vectors.h>
-#include <asm/lg.h>
+#include <linux/lg.h>
 
 /*H:120 This is the core hypercall routine: where the Guest gets what it
  * wants.  Or gets killed.  Or, in the case of LHCALL_CRASH, both.
drivers/lguest/interrupts_and_traps.c +1 -1
index 899e681..3daf3e2 100644
@@ -12,7 +12,7 @@
  * them first, so we also have a way of "reflecting" them into the Guest as if
  * they had been delivered to it directly. :*/
 #include <linux/uaccess.h>
-#include <asm/lg.h>
+#include <linux/lg.h>
 
 /* The address of the interrupt handler is split into two bits: */
 static unsigned long idt_address(u32 lo, u32 hi)
drivers/lguest/io.c +1 -1
index 091a46d..d196121 100644
@@ -25,7 +25,7 @@
 #include <linux/mm.h>
 #include <linux/highmem.h>
 #include <linux/uaccess.h>
-#include <asm/lg.h>
+#include <linux/lg.h>
 
 /*L:300
  * I/O
drivers/lguest/lguest_user.c +1 -1
index a29d85b..2f477df 100644
@@ -7,7 +7,7 @@
 #include <linux/uaccess.h>
 #include <linux/miscdevice.h>
 #include <linux/fs.h>
-#include <asm/lg.h>
+#include <linux/lg.h>
 
 /*L:030 setup_regs() doesn't really belong in this file, but it gives us an
  * early glimpse deeper into the Host so it's worth having here.
drivers/lguest/page_tables.c +1 -1
index db3dd8b..812d56a 100644
@@ -13,7 +13,7 @@
 #include <linux/random.h>
 #include <linux/percpu.h>
 #include <asm/tlbflush.h>
-#include <asm/lg.h>
+#include <linux/lg.h>
 
 /*M:008 We hold reference to pages, which prevents them from being swapped.
  * It'd be nice to have a callback in the "struct mm_struct" when Linux wants
drivers/lguest/segments.c +1 -1
index 1d16d5d..351b13f 100644
@@ -9,7 +9,7 @@
  * In these modern times, the segment handling code consists of simple sanity
  * checks, and the worst you'll experience reading this code is butterfly-rash
  * from frolicking through its parklike serenity. :*/
-#include <asm/lg.h>
+#include <linux/lg.h>
 
 /*H:600
  * We've almost completed the Host; there's just one file to go!
include/asm-i386/lg.h +2 -22
index 64f0abe..c8e01c3 100644
@@ -1,5 +1,5 @@
-#ifndef _LGUEST_H
-#define _LGUEST_H
+#ifndef _I386_LGUEST_H
+#define _I386_LGUEST_H
 
 #include <asm/desc.h>
 
@@ -47,17 +47,6 @@ int init_pagetables(struct page **switcher_page, unsigned int pages);
 #define FULL_EXEC_SEGMENT ((struct desc_struct){0x0000ffff, 0x00cf9b00})
 #define FULL_SEGMENT ((struct desc_struct){0x0000ffff, 0x00cf9300})
 
-struct lguest_dma_info
-{
-	struct list_head list;
-	union futex_key key;
-	unsigned long dmas;
-	u16 next_dma;
-	u16 num_dmas;
-	u16 guestid;
-	u8 interrupt; 	/* 0 when not registered */
-};
-
 /*H:310 The page-table code owes a great debt of gratitude to Andi Kleen.  He
  * reviewed the original code which used "u32" for all page table entries, and
  * insisted that it would be far clearer with explicit typing.  I thought it
@@ -245,15 +234,6 @@ void pin_page(struct lguest *lg, unsigned long vaddr);
 int lguest_device_init(void);
 void lguest_device_remove(void);
 
-/* io.c: */
-void lguest_io_init(void);
-int bind_dma(struct lguest *lg,
-	     unsigned long key, unsigned long udma, u16 numdmas, u8 interrupt);
-void send_dma(struct lguest *info, unsigned long key, unsigned long udma);
-void release_all_dma(struct lguest *lg);
-unsigned long get_dma_buffer(struct lguest *lg, unsigned long key,
-			     unsigned long *interrupt);
-
 /* hypercalls.c: */
 void do_hypercalls(struct lguest *lg);
 void write_timestamp(struct lguest *lg);
include/linux/lg.h new file +30 -0
new file mode 100644
index 0000000..c533102
@@ -0,0 +1,30 @@
+#ifndef _LINUX_LGUEST_H
+#define _LINUX_LGUEST_H
+
+#include <linux/futex.h>
+
+struct lguest;
+
+/* io.c: */
+void lguest_io_init(void);
+int bind_dma(struct lguest *lg,
+	     unsigned long key, unsigned long udma, u16 numdmas, u8 interrupt);
+void send_dma(struct lguest *info, unsigned long key, unsigned long udma);
+void release_all_dma(struct lguest *lg);
+unsigned long get_dma_buffer(struct lguest *lg, unsigned long key,
+			     unsigned long *interrupt);
+
+struct lguest_dma_info
+{
+	struct list_head list;
+	union futex_key key;
+	unsigned long dmas;
+	u16 next_dma;
+	u16 num_dmas;
+	u16 guestid;
+	u8 interrupt; 	/* 0 when not registered */
+};
+
+#include <asm/lg.h>
+
+#endif /* _LINUX_LGUEST_H */
Signature · 3 lines
1.4.4.4

-- 
#9 lore raw

Re: [PATCH 4/5 -v2] Added generic lg.h in the include/linux directory

Hi Steven,

I am just being pedantic here (and I should have beaten up on Rusty before now ... :-)

include/asm-i386/lg.h line 2

Quoted 8 lines · On Thu, 09 Aug 2007 00:36:30 -0400 Steven Rostedt <[email protected]> wrote:
include/asm-i386/lg.h +2 -2
@@ -1,5 +1,5 @@
-#ifndef _LGUEST_H
-#define _LGUEST_H
+#ifndef _I386_LGUEST_H
+#define _I386_LGUEST_H

Maybe _ASM_LG_H or _I386_LG_H ? And there is a comment on the #endif at the end of the file that should match.

include/asm-i386/lg.h line 2

Quoted 4 lines
include/asm-i386/lg.h +3 -0
+++ b/include/linux/lg.h
@@ -0,0 +1,30 @@
+#ifndef _LINUX_LGUEST_H
+#define _LINUX_LGUEST_H

Maybe _LINUX_LG_H ?

Also (this is for Rusty) include/linux/lguest.h is protected by _ASM_LGUEST_H ...

Signature · 3 lines
Cheers,
Stephen Rothwell                    [email protected]
http://www.canb.auug.org.au/~sfr/

_______________________________________________
Virtualization mailing list
[email protected]
https://lists.linux-foundation.org/mailman/listinfo/virtualization

#10 lore raw

Re: [PATCH 4/5 -v2] Added generic lg.h in the include/linux directory

In reply to Steven Rostedt

Hi Steven,

I am just being pedantic here (and I should have beaten up on Rusty before now ... :-)

include/asm-i386/lg.h line 2

Quoted 8 lines · On Thu, 09 Aug 2007 00:36:30 -0400 Steven Rostedt <[email protected]> wrote:
include/asm-i386/lg.h +2 -2
@@ -1,5 +1,5 @@
-#ifndef _LGUEST_H
-#define _LGUEST_H
+#ifndef _I386_LGUEST_H
+#define _I386_LGUEST_H

Maybe _ASM_LG_H or _I386_LG_H ? And there is a comment on the #endif at the end of the file that should match.

include/asm-i386/lg.h line 2

Quoted 4 lines
include/asm-i386/lg.h +3 -0
+++ b/include/linux/lg.h
@@ -0,0 +1,30 @@
+#ifndef _LINUX_LGUEST_H
+#define _LINUX_LGUEST_H

Maybe _LINUX_LG_H ?

Also (this is for Rusty) include/linux/lguest.h is protected by _ASM_LGUEST_H ...

Signature · 3 lines
Cheers,
Stephen Rothwell                    [email protected]
http://www.canb.auug.org.au/~sfr/
#11 lore raw

Re: [PATCH 4/5 -v2] Added generic lg.h in the include/linux directory

--

Quoted 26 lines · Stephen Rothwell

Hi Steven,

I am just being pedantic here (and I should have beaten up on Rusty before now ... :-)

include/asm-i386/lg.h line 2

Quoted 8 lines · On Thu, 09 Aug 2007 00:36:30 -0400 Steven Rostedt <[email protected]> wrote:
include/asm-i386/lg.h +2 -2
@@ -1,5 +1,5 @@
-#ifndef _LGUEST_H
-#define _LGUEST_H
+#ifndef _I386_LGUEST_H
+#define _I386_LGUEST_H

Maybe _ASM_LG_H or _I386_LG_H ? And there is a comment on the #endif at the end of the file that should match.

include/asm-i386/lg.h line 2

Quoted 4 lines
include/asm-i386/lg.h +3 -0
+++ b/include/linux/lg.h
@@ -0,0 +1,30 @@
+#ifndef _LINUX_LGUEST_H
+#define _LINUX_LGUEST_H

Maybe _LINUX_LG_H ?

Quoted 2 lines

Also (this is for Rusty) include/linux/lguest.h is protected by _ASM_LGUEST_H ...

Hah! in my lguest64 tree, I fixed all these. But I forgot to do the changes when making the patches for upstream. I'll make note and fix them in my next patch series (unless Rusty can pull my stuff in now and then I can apply on top of them ;-)

Thanks,

-- Steve

#12 lore raw

Re: [PATCH 4/5 -v2] Added generic lg.h in the include/linux directory

In reply to Stephen Rothwell

--

Quoted 26 lines · Stephen Rothwell

Hi Steven,

I am just being pedantic here (and I should have beaten up on Rusty before now ... :-)

include/asm-i386/lg.h line 2

Quoted 8 lines · On Thu, 09 Aug 2007 00:36:30 -0400 Steven Rostedt <[email protected]> wrote:
include/asm-i386/lg.h +2 -2
@@ -1,5 +1,5 @@
-#ifndef _LGUEST_H
-#define _LGUEST_H
+#ifndef _I386_LGUEST_H
+#define _I386_LGUEST_H

Maybe _ASM_LG_H or _I386_LG_H ? And there is a comment on the #endif at the end of the file that should match.

include/asm-i386/lg.h line 2

Quoted 4 lines
include/asm-i386/lg.h +3 -0
+++ b/include/linux/lg.h
@@ -0,0 +1,30 @@
+#ifndef _LINUX_LGUEST_H
+#define _LINUX_LGUEST_H

Maybe _LINUX_LG_H ?

Quoted 2 lines

Also (this is for Rusty) include/linux/lguest.h is protected by _ASM_LGUEST_H ...

Hah! in my lguest64 tree, I fixed all these. But I forgot to do the changes when making the patches for upstream. I'll make note and fix them in my next patch series (unless Rusty can pull my stuff in now and then I can apply on top of them ;-)

Thanks,

-- Steve

#13 lore raw

PATCH 5/5 Move the lguest files that are i386 specific

In reply to Steven Rostedt

Well, some may be merged with x86_64 later, but for now we move them out of the way. Later on we can start seeing how we can combine some of these files to be arch generic.

---
 drivers/lguest/Makefile                    |    7 +-
 drivers/lguest/core.c                      |  771 -------------------
 drivers/lguest/hypercalls.c                |  300 --------
 drivers/lguest/i386/Makefile               |    7 +
 drivers/lguest/i386/core.c                 |  771 +++++++++++++++++++
 drivers/lguest/i386/hypercalls.c           |  300 ++++++++
 drivers/lguest/i386/interrupts_and_traps.c |  440 +++++++++++
 drivers/lguest/i386/lguest.c               | 1097 ++++++++++++++++++++++++++++
 drivers/lguest/i386/lguest_asm.S           |   93 +++
 drivers/lguest/i386/lguest_user.c          |  382 ++++++++++
 drivers/lguest/i386/page_tables.c          |  680 +++++++++++++++++
 drivers/lguest/i386/segments.c             |  229 ++++++
 drivers/lguest/i386/switcher.S             |  347 +++++++++
 drivers/lguest/interrupts_and_traps.c      |  440 -----------
 drivers/lguest/lguest.c                    | 1097 ----------------------------
 drivers/lguest/lguest_asm.S                |   93 ---
 drivers/lguest/lguest_user.c               |  382 ----------
 drivers/lguest/page_tables.c               |  680 -----------------
 drivers/lguest/segments.c                  |  229 ------
 drivers/lguest/switcher.S                  |  347 ---------
 20 files changed, 4348 insertions(+), 4344 deletions(-)
drivers/lguest/Makefile +2 -5
index e504747..2de13eb 100644
@@ -1,10 +1,7 @@
 # Guest requires the paravirt_ops replacement and the bus driver.
-obj-$(CONFIG_LGUEST_GUEST) += lguest.o lguest_asm.o lguest_bus.o
+obj-$(CONFIG_LGUEST_GUEST) += lguest_bus.o
 
-# Host requires the other files, which can be a module.
-obj-$(CONFIG_LGUEST)	+= lg.o
-lg-y := core.o hypercalls.o page_tables.o interrupts_and_traps.o \
-	segments.o io.o lguest_user.o switcher.o
+obj-$(CONFIG_X86_32)	+= i386/
 
 Preparation Preparation!: PREFIX=P
 Guest: PREFIX=G
drivers/lguest/core.c deleted +0 -771

771 lines not on this page · raw message

drivers/lguest/hypercalls.c deleted +0 -300

300 lines not on this page · raw message

drivers/lguest/i386/Makefile new file +7 -0
new file mode 100644
index 0000000..de63997
@@ -0,0 +1,7 @@
+# Guest requires the paravirt_ops replacement and the bus driver.
+obj-$(CONFIG_LGUEST_GUEST) += lguest.o lguest_asm.o
+
+# Host requires the other files, which can be a module.
+obj-$(CONFIG_LGUEST)	+= lg.o
+lg-y := core.o hypercalls.o page_tables.o interrupts_and_traps.o \
+	segments.o ../io.o lguest_user.o switcher.o
drivers/lguest/i386/core.c new file +771 -0

771 lines not on this page · raw message

drivers/lguest/i386/hypercalls.c new file +300 -0

300 lines not on this page · raw message

drivers/lguest/i386/interrupts_and_traps.c new file +440 -0

440 lines not on this page · raw message

drivers/lguest/i386/lguest.c new file +1097 -0

399 lines not on this page · raw message

drivers/lguest/i386/lguest_asm.S new file +93 -0

93 lines not on this page · raw message

drivers/lguest/i386/lguest_user.c new file +382 -0

382 lines not on this page · raw message

drivers/lguest/i386/page_tables.c new file +680 -0

680 lines not on this page · raw message

drivers/lguest/i386/segments.c new file +229 -0

229 lines not on this page · raw message

drivers/lguest/i386/switcher.S new file +347 -0

347 lines not on this page · raw message

drivers/lguest/interrupts_and_traps.c deleted +0 -440

440 lines not on this page · raw message

drivers/lguest/lguest.c deleted +0 -1097

1,097 lines not on this page · raw message

drivers/lguest/lguest_asm.S deleted +0 -93

93 lines not on this page · raw message

drivers/lguest/lguest_user.c deleted +0 -382

382 lines not on this page · raw message

drivers/lguest/page_tables.c deleted +0 -680

680 lines not on this page · raw message

drivers/lguest/segments.c deleted +0 -229

229 lines not on this page · raw message

drivers/lguest/switcher.S deleted +0 -347

347 lines not on this page · raw message

The rest of this diff is not shown. View the raw message.

Signature · 3 lines
1.4.4.4

-- 

Part of the diff is not shown here. View the raw message.

#14 lore raw

PATCH 5/5 Move the lguest files that are i386 specific

In reply to Steven Rostedt

Well, some may be merged with x86_64 later, but for now we move them out of the way. Later on we can start seeing how we can combine some of these files to be arch generic.

---
 drivers/lguest/Makefile                    |    7 +-
 drivers/lguest/core.c                      |  771 -------------------
 drivers/lguest/hypercalls.c                |  300 --------
 drivers/lguest/i386/Makefile               |    7 +
 drivers/lguest/i386/core.c                 |  771 +++++++++++++++++++
 drivers/lguest/i386/hypercalls.c           |  300 ++++++++
 drivers/lguest/i386/interrupts_and_traps.c |  440 +++++++++++
 drivers/lguest/i386/lguest.c               | 1097 ++++++++++++++++++++++++++++
 drivers/lguest/i386/lguest_asm.S           |   93 +++
 drivers/lguest/i386/lguest_user.c          |  382 ++++++++++
 drivers/lguest/i386/page_tables.c          |  680 +++++++++++++++++
 drivers/lguest/i386/segments.c             |  229 ++++++
 drivers/lguest/i386/switcher.S             |  347 +++++++++
 drivers/lguest/interrupts_and_traps.c      |  440 -----------
 drivers/lguest/lguest.c                    | 1097 ----------------------------
 drivers/lguest/lguest_asm.S                |   93 ---
 drivers/lguest/lguest_user.c               |  382 ----------
 drivers/lguest/page_tables.c               |  680 -----------------
 drivers/lguest/segments.c                  |  229 ------
 drivers/lguest/switcher.S                  |  347 ---------
 20 files changed, 4348 insertions(+), 4344 deletions(-)
drivers/lguest/Makefile +2 -5
index e504747..2de13eb 100644
@@ -1,10 +1,7 @@
 # Guest requires the paravirt_ops replacement and the bus driver.
-obj-$(CONFIG_LGUEST_GUEST) += lguest.o lguest_asm.o lguest_bus.o
+obj-$(CONFIG_LGUEST_GUEST) += lguest_bus.o
 
-# Host requires the other files, which can be a module.
-obj-$(CONFIG_LGUEST)	+= lg.o
-lg-y := core.o hypercalls.o page_tables.o interrupts_and_traps.o \
-	segments.o io.o lguest_user.o switcher.o
+obj-$(CONFIG_X86_32)	+= i386/
 
 Preparation Preparation!: PREFIX=P
 Guest: PREFIX=G
drivers/lguest/core.c deleted +0 -771

771 lines not on this page · raw message

drivers/lguest/hypercalls.c deleted +0 -300

300 lines not on this page · raw message

drivers/lguest/i386/Makefile new file +7 -0
new file mode 100644
index 0000000..de63997
@@ -0,0 +1,7 @@
+# Guest requires the paravirt_ops replacement and the bus driver.
+obj-$(CONFIG_LGUEST_GUEST) += lguest.o lguest_asm.o
+
+# Host requires the other files, which can be a module.
+obj-$(CONFIG_LGUEST)	+= lg.o
+lg-y := core.o hypercalls.o page_tables.o interrupts_and_traps.o \
+	segments.o ../io.o lguest_user.o switcher.o
drivers/lguest/i386/core.c new file +771 -0

771 lines not on this page · raw message

drivers/lguest/i386/hypercalls.c new file +300 -0

300 lines not on this page · raw message

drivers/lguest/i386/interrupts_and_traps.c new file +440 -0

440 lines not on this page · raw message

drivers/lguest/i386/lguest.c new file +1097 -0

399 lines not on this page · raw message

drivers/lguest/i386/lguest_asm.S new file +93 -0

93 lines not on this page · raw message

drivers/lguest/i386/lguest_user.c new file +382 -0

382 lines not on this page · raw message

drivers/lguest/i386/page_tables.c new file +680 -0

680 lines not on this page · raw message

drivers/lguest/i386/segments.c new file +229 -0

229 lines not on this page · raw message

drivers/lguest/i386/switcher.S new file +347 -0

347 lines not on this page · raw message

drivers/lguest/interrupts_and_traps.c deleted +0 -440

440 lines not on this page · raw message

drivers/lguest/lguest.c deleted +0 -1097

1,097 lines not on this page · raw message

drivers/lguest/lguest_asm.S deleted +0 -93

93 lines not on this page · raw message

drivers/lguest/lguest_user.c deleted +0 -382

382 lines not on this page · raw message

drivers/lguest/page_tables.c deleted +0 -680

680 lines not on this page · raw message

drivers/lguest/segments.c deleted +0 -229

229 lines not on this page · raw message

drivers/lguest/switcher.S deleted +0 -347

347 lines not on this page · raw message

The rest of this diff is not shown. View the raw message.

Signature · 3 lines
1.4.4.4

-- 

Part of the diff is not shown here. View the raw message.

#15 lore raw

Re: [PATCH 5/5 -v2] Move the lguest files that are i386 specific

Hi Steven,

Quoted 20 lines · On Thu, 09 Aug 2007 00:36:31 -0400 Steven Rostedt <[email protected]> wrote:

Well, some may be merged with x86_64 later, but for now we move them out of the way. Later on we can start seeing how we can combine some of these files to be arch generic.

---
 drivers/lguest/Makefile                    |    7 +-
 drivers/lguest/core.c                      |  771 -------------------
 drivers/lguest/hypercalls.c                |  300 --------
 drivers/lguest/i386/Makefile               |    7 +
 drivers/lguest/i386/core.c                 |  771 +++++++++++++++++++
 drivers/lguest/i386/hypercalls.c           |  300 ++++++++
 drivers/lguest/i386/interrupts_and_traps.c |  440 +++++++++++
 drivers/lguest/i386/lguest.c               | 1097 ++++++++++++++++++++++++++++
 drivers/lguest/i386/lguest_asm.S           |   93 +++
 drivers/lguest/i386/lguest_user.c          |  382 ++++++++++
 drivers/lguest/i386/page_tables.c          |  680 +++++++++++++++++
 drivers/lguest/i386/segments.c             |  229 ++++++
 drivers/lguest/i386/switcher.S             |  347 +++++++++
Quoted 8 lines
 drivers/lguest/interrupts_and_traps.c      |  440 -----------
 drivers/lguest/lguest.c                    | 1097 ----------------------------
 drivers/lguest/lguest_asm.S                |   93 ---
 drivers/lguest/lguest_user.c               |  382 ----------
 drivers/lguest/page_tables.c               |  680 -----------------
 drivers/lguest/segments.c                  |  229 ------
 drivers/lguest/switcher.S                  |  347 ---------
 20 files changed, 4348 insertions(+), 4344 deletions(-)

if you add -C or -M to "git diff --stat" this looks much better:

$ git diff --stat -C HEAD^
 drivers/lguest/Makefile                          |    7 ++-----
 drivers/lguest/i386/Makefile                     |    7 +++++++
 drivers/lguest/{ => i386}/core.c                 |    0 
 drivers/lguest/{ => i386}/hypercalls.c           |    0 
 drivers/lguest/{ => i386}/interrupts_and_traps.c |    0 
 drivers/lguest/{ => i386}/lguest.c               |    0 
 drivers/lguest/{ => i386}/lguest_asm.S           |    0 
 drivers/lguest/{ => i386}/lguest_user.c          |    0 
 drivers/lguest/{ => i386}/page_tables.c          |    0 
 drivers/lguest/{ => i386}/segments.c             |    0 
 drivers/lguest/{ => i386}/switcher.S             |    0 
 11 files changed, 9 insertions(+), 5 deletions(-)
Signature · 3 lines
Cheers,
Stephen Rothwell                    [email protected]
http://www.canb.auug.org.au/~sfr/

_______________________________________________
Virtualization mailing list
[email protected]
https://lists.linux-foundation.org/mailman/listinfo/virtualization

#16 lore raw

Re: [PATCH 5/5 -v2] Move the lguest files that are i386 specific

In reply to Steven Rostedt

Hi Steven,

Quoted 20 lines · On Thu, 09 Aug 2007 00:36:31 -0400 Steven Rostedt <[email protected]> wrote:

Well, some may be merged with x86_64 later, but for now we move them out of the way. Later on we can start seeing how we can combine some of these files to be arch generic.

---
 drivers/lguest/Makefile                    |    7 +-
 drivers/lguest/core.c                      |  771 -------------------
 drivers/lguest/hypercalls.c                |  300 --------
 drivers/lguest/i386/Makefile               |    7 +
 drivers/lguest/i386/core.c                 |  771 +++++++++++++++++++
 drivers/lguest/i386/hypercalls.c           |  300 ++++++++
 drivers/lguest/i386/interrupts_and_traps.c |  440 +++++++++++
 drivers/lguest/i386/lguest.c               | 1097 ++++++++++++++++++++++++++++
 drivers/lguest/i386/lguest_asm.S           |   93 +++
 drivers/lguest/i386/lguest_user.c          |  382 ++++++++++
 drivers/lguest/i386/page_tables.c          |  680 +++++++++++++++++
 drivers/lguest/i386/segments.c             |  229 ++++++
 drivers/lguest/i386/switcher.S             |  347 +++++++++
Quoted 8 lines
 drivers/lguest/interrupts_and_traps.c      |  440 -----------
 drivers/lguest/lguest.c                    | 1097 ----------------------------
 drivers/lguest/lguest_asm.S                |   93 ---
 drivers/lguest/lguest_user.c               |  382 ----------
 drivers/lguest/page_tables.c               |  680 -----------------
 drivers/lguest/segments.c                  |  229 ------
 drivers/lguest/switcher.S                  |  347 ---------
 20 files changed, 4348 insertions(+), 4344 deletions(-)

if you add -C or -M to "git diff --stat" this looks much better:

$ git diff --stat -C HEAD^
 drivers/lguest/Makefile                          |    7 ++-----
 drivers/lguest/i386/Makefile                     |    7 +++++++
 drivers/lguest/{ => i386}/core.c                 |    0 
 drivers/lguest/{ => i386}/hypercalls.c           |    0 
 drivers/lguest/{ => i386}/interrupts_and_traps.c |    0 
 drivers/lguest/{ => i386}/lguest.c               |    0 
 drivers/lguest/{ => i386}/lguest_asm.S           |    0 
 drivers/lguest/{ => i386}/lguest_user.c          |    0 
 drivers/lguest/{ => i386}/page_tables.c          |    0 
 drivers/lguest/{ => i386}/segments.c             |    0 
 drivers/lguest/{ => i386}/switcher.S             |    0 
 11 files changed, 9 insertions(+), 5 deletions(-)
Signature · 3 lines
Cheers,
Stephen Rothwell                    [email protected]
http://www.canb.auug.org.au/~sfr/
#17 lore raw

Re: [PATCH 5/5 -v2] Move the lguest files that are i386 specific

--

Quoted 35 lines · Stephen Rothwell

Hi Steven,

Quoted 20 lines · On Thu, 09 Aug 2007 00:36:31 -0400 Steven Rostedt <[email protected]> wrote:

Well, some may be merged with x86_64 later, but for now we move them out of the way. Later on we can start seeing how we can combine some of these files to be arch generic.

---
 drivers/lguest/Makefile                    |    7 +-
 drivers/lguest/core.c                      |  771 -------------------
 drivers/lguest/hypercalls.c                |  300 --------
 drivers/lguest/i386/Makefile               |    7 +
 drivers/lguest/i386/core.c                 |  771 +++++++++++++++++++
 drivers/lguest/i386/hypercalls.c           |  300 ++++++++
 drivers/lguest/i386/interrupts_and_traps.c |  440 +++++++++++
 drivers/lguest/i386/lguest.c               | 1097 ++++++++++++++++++++++++++++
 drivers/lguest/i386/lguest_asm.S           |   93 +++
 drivers/lguest/i386/lguest_user.c          |  382 ++++++++++
 drivers/lguest/i386/page_tables.c          |  680 +++++++++++++++++
 drivers/lguest/i386/segments.c             |  229 ++++++
 drivers/lguest/i386/switcher.S             |  347 +++++++++
Quoted 8 lines
 drivers/lguest/interrupts_and_traps.c      |  440 -----------
 drivers/lguest/lguest.c                    | 1097 ----------------------------
 drivers/lguest/lguest_asm.S                |   93 ---
 drivers/lguest/lguest_user.c               |  382 ----------
 drivers/lguest/page_tables.c               |  680 -----------------
 drivers/lguest/segments.c                  |  229 ------
 drivers/lguest/switcher.S                  |  347 ---------
 20 files changed, 4348 insertions(+), 4344 deletions(-)

if you add -C or -M to "git diff --stat" this looks much better:

Quoted 14 lines
$ git diff --stat -C HEAD^
 drivers/lguest/Makefile                          |    7 ++-----
 drivers/lguest/i386/Makefile                     |    7 +++++++
 drivers/lguest/{ => i386}/core.c                 |    0
 drivers/lguest/{ => i386}/hypercalls.c           |    0
 drivers/lguest/{ => i386}/interrupts_and_traps.c |    0
 drivers/lguest/{ => i386}/lguest.c               |    0
 drivers/lguest/{ => i386}/lguest_asm.S           |    0
 drivers/lguest/{ => i386}/lguest_user.c          |    0
 drivers/lguest/{ => i386}/page_tables.c          |    0
 drivers/lguest/{ => i386}/segments.c             |    0
 drivers/lguest/{ => i386}/switcher.S             |    0
 11 files changed, 9 insertions(+), 5 deletions(-)

/me should read the man pages.

Thanks, that's the options I was looking for. I was using the git-format-patch, and thought it would do that automatically. I definitely add those options the next time around!

Thanks,

-- Steve

#18 lore raw

Re: [PATCH 5/5 -v2] Move the lguest files that are i386 specific

In reply to Stephen Rothwell

--

Quoted 35 lines · Stephen Rothwell

Hi Steven,

Quoted 20 lines · On Thu, 09 Aug 2007 00:36:31 -0400 Steven Rostedt <[email protected]> wrote:

Well, some may be merged with x86_64 later, but for now we move them out of the way. Later on we can start seeing how we can combine some of these files to be arch generic.

---
 drivers/lguest/Makefile                    |    7 +-
 drivers/lguest/core.c                      |  771 -------------------
 drivers/lguest/hypercalls.c                |  300 --------
 drivers/lguest/i386/Makefile               |    7 +
 drivers/lguest/i386/core.c                 |  771 +++++++++++++++++++
 drivers/lguest/i386/hypercalls.c           |  300 ++++++++
 drivers/lguest/i386/interrupts_and_traps.c |  440 +++++++++++
 drivers/lguest/i386/lguest.c               | 1097 ++++++++++++++++++++++++++++
 drivers/lguest/i386/lguest_asm.S           |   93 +++
 drivers/lguest/i386/lguest_user.c          |  382 ++++++++++
 drivers/lguest/i386/page_tables.c          |  680 +++++++++++++++++
 drivers/lguest/i386/segments.c             |  229 ++++++
 drivers/lguest/i386/switcher.S             |  347 +++++++++
Quoted 8 lines
 drivers/lguest/interrupts_and_traps.c      |  440 -----------
 drivers/lguest/lguest.c                    | 1097 ----------------------------
 drivers/lguest/lguest_asm.S                |   93 ---
 drivers/lguest/lguest_user.c               |  382 ----------
 drivers/lguest/page_tables.c               |  680 -----------------
 drivers/lguest/segments.c                  |  229 ------
 drivers/lguest/switcher.S                  |  347 ---------
 20 files changed, 4348 insertions(+), 4344 deletions(-)

if you add -C or -M to "git diff --stat" this looks much better:

Quoted 14 lines
$ git diff --stat -C HEAD^
 drivers/lguest/Makefile                          |    7 ++-----
 drivers/lguest/i386/Makefile                     |    7 +++++++
 drivers/lguest/{ => i386}/core.c                 |    0
 drivers/lguest/{ => i386}/hypercalls.c           |    0
 drivers/lguest/{ => i386}/interrupts_and_traps.c |    0
 drivers/lguest/{ => i386}/lguest.c               |    0
 drivers/lguest/{ => i386}/lguest_asm.S           |    0
 drivers/lguest/{ => i386}/lguest_user.c          |    0
 drivers/lguest/{ => i386}/page_tables.c          |    0
 drivers/lguest/{ => i386}/segments.c             |    0
 drivers/lguest/{ => i386}/switcher.S             |    0
 11 files changed, 9 insertions(+), 5 deletions(-)

/me should read the man pages.

Thanks, that's the options I was looking for. I was using the git-format-patch, and thought it would do that automatically. I definitely add those options the next time around!

Thanks,

-- Steve