Displaying 20 results from an estimated 86 matches for "insn_len".
2007 Apr 19
1
[RFC, PATCH 2/5] Paravirt_ops patch bugs.patch
...nsigned long delta = (unsigned long)target - (unsigned long)(jmp+5);
- if (len < 5)
- return len; /* call too long for patch site */
+ BUG_ON(len < 5);
*jmp++ = 0xe9; /* jmp */
*(unsigned long *)jmp = delta;
@@ -186,7 +191,10 @@ unsigned paravirt_patch_insns(void *site
{
unsigned insn_len = end - start;
- if (insn_len > len || start == NULL)
+ WARN_ON(insn_len > len);
+ BUG_ON(start == NULL);
+
+ if (insn_len > len)
insn_len = len;
else
memcpy(site, start, insn_len);
2007 Apr 19
1
[RFC, PATCH 2/5] Paravirt_ops patch bugs.patch
...nsigned long delta = (unsigned long)target - (unsigned long)(jmp+5);
- if (len < 5)
- return len; /* call too long for patch site */
+ BUG_ON(len < 5);
*jmp++ = 0xe9; /* jmp */
*(unsigned long *)jmp = delta;
@@ -186,7 +191,10 @@ unsigned paravirt_patch_insns(void *site
{
unsigned insn_len = end - start;
- if (insn_len > len || start == NULL)
+ WARN_ON(insn_len > len);
+ BUG_ON(start == NULL);
+
+ if (insn_len > len)
insn_len = len;
else
memcpy(site, start, insn_len);
2007 Apr 18
0
[PATCH] Update lguest's patch code for new paravirt patch architecture
...ns, unsigned len)
{
@@ -396,20 +395,15 @@ static unsigned lguest_patch(u8 type, u1
/* Don't touch it if we don't have a replacement */
if (type >= ARRAY_SIZE(lguest_insns) || !lguest_insns[type].start)
- return len;
+ return paravirt_patch_default(type, clobber, insns, len);
insn_len = lguest_insns[type].end - lguest_insns[type].start;
/* Similarly if we can't fit replacement. */
if (len < insn_len)
- return len;
+ return paravirt_patch_default(type, clobber, insns, len);
memcpy(insns, lguest_insns[type].start, insn_len);
- if (type == PARAVIRT_PATCH(iret)) {...
2007 Apr 18
0
[PATCH] Update lguest's patch code for new paravirt patch architecture
...ns, unsigned len)
{
@@ -396,20 +395,15 @@ static unsigned lguest_patch(u8 type, u1
/* Don't touch it if we don't have a replacement */
if (type >= ARRAY_SIZE(lguest_insns) || !lguest_insns[type].start)
- return len;
+ return paravirt_patch_default(type, clobber, insns, len);
insn_len = lguest_insns[type].end - lguest_insns[type].start;
/* Similarly if we can't fit replacement. */
if (len < insn_len)
- return len;
+ return paravirt_patch_default(type, clobber, insns, len);
memcpy(insns, lguest_insns[type].start, insn_len);
- if (type == PARAVIRT_PATCH(iret)) {...
2009 Dec 21
2
[PATCH 1/2] Unreference state/buffer objects on context/screen destruction
...og.c (kopia robocza)
@@ -948,6 +948,12 @@
nv40_fragprog_destroy(struct nv40_context *nv40,
struct nv40_fragment_program *fp)
{
+ if (fp->buffer)
+ pipe_buffer_reference(&fp->buffer, NULL);
+
+ if (fp->so)
+ so_ref(NULL, &fp->so);
+
if (fp->insn_len)
FREE(fp->insn);
}
Index: nv40/nv40_context.c
===================================================================
--- nv40/nv40_context.c (wersja 32083)
+++ nv40/nv40_context.c (kopia robocza)
@@ -25,7 +25,13 @@
nv40_destroy(struct pipe_context *pipe)
{
struct nv40_context *nv40 = n...
2007 Dec 20
6
[PATCH 0/15] adjust pvops to accomodate its x86_64 variant
Hi folks,
With this series, the bulk of the work of pvops64 is done.
Here, I integrate most of the paravirt.c and paravirt.h files, making
them applicable to both architectures.
CONFIG_PARAVIRT is _not_ present yet. Basically, this code is missing page
table integration (patches currently being worked on by Jeremy).
Enjoy
2007 Dec 20
6
[PATCH 0/15] adjust pvops to accomodate its x86_64 variant
Hi folks,
With this series, the bulk of the work of pvops64 is done.
Here, I integrate most of the paravirt.c and paravirt.h files, making
them applicable to both architectures.
CONFIG_PARAVIRT is _not_ present yet. Basically, this code is missing page
table integration (patches currently being worked on by Jeremy).
Enjoy
2007 Jul 24
1
lguest doesn't work on kernel 2.6.23-rc1
Hi, all, I have difficulty on setting up lguest. Basic OS info:
gcc 4.1.2
glibc: 2.5.1
binutils: 2.17
kernel: 2.6.23-rc1
Following lguest.txt instruction, I build lguest enaled kernel,
disable CONFIG_COMPAT_VDSO, the host kernel boot fine, but when
booting Qemu image using lguest laucher program, the guest kernel
vmlinux panic, attached console.txt is console output, and config.txt
is kernel
2007 Jul 24
1
lguest doesn't work on kernel 2.6.23-rc1
Hi, all, I have difficulty on setting up lguest. Basic OS info:
gcc 4.1.2
glibc: 2.5.1
binutils: 2.17
kernel: 2.6.23-rc1
Following lguest.txt instruction, I build lguest enaled kernel,
disable CONFIG_COMPAT_VDSO, the host kernel boot fine, but when
booting Qemu image using lguest laucher program, the guest kernel
vmlinux panic, attached console.txt is console output, and config.txt
is kernel
2019 Aug 09
0
[RFC PATCH v6 79/92] kvm: x86: emulate movsd xmm, m64
...ruct gprefix pfx_0f_10_0f_11 = {
- I(Unaligned, em_mov), I(Unaligned, em_mov), N, N,
+ I(Unaligned, em_mov), I(Unaligned, em_mov), I(Unaligned, em_mov), N,
};
static const struct gprefix pfx_0f_28_0f_29 = {
@@ -5097,7 +5118,7 @@ int x86_decode_insn(struct x86_emulate_ctxt *ctxt, void *insn, int insn_len)
{
int rc = X86EMUL_CONTINUE;
int mode = ctxt->mode;
- int def_op_bytes, def_ad_bytes, goffset, simd_prefix;
+ int def_op_bytes, def_ad_bytes, goffset, simd_prefix = 0;
bool op_prefix = false;
bool has_seg_override = false;
struct opcode opcode;
@@ -5320,7 +5341,8 @@ int x86_decode_in...
2007 Apr 29
1
[PATCH 1/2] lguest: fix up after pda->percpu conversion
...ude <asm/desc.h>
#include <asm/setup.h>
#include <asm/e820.h>
-//#include <asm/pda.h>
#include <asm/mce.h>
/* Declarations for definitions in lguest_guest.S */
@@ -406,10 +409,6 @@ static unsigned lguest_patch(u8 type, u1
memcpy(insns, lguest_insns[type].start, insn_len);
return insn_len;
}
-
-/* From head.S */
-//extern void setup_pda(void);
-extern struct Xgt_desc_struct early_gdt_descr;
__init void lguest_init(void)
{
@@ -466,10 +465,8 @@ __init void lguest_init(void)
/* We use top of mem for initial pagetables. */
init_pg_tables_end = __pa(pg0);
-...
2007 Apr 29
1
[PATCH 1/2] lguest: fix up after pda->percpu conversion
...ude <asm/desc.h>
#include <asm/setup.h>
#include <asm/e820.h>
-//#include <asm/pda.h>
#include <asm/mce.h>
/* Declarations for definitions in lguest_guest.S */
@@ -406,10 +409,6 @@ static unsigned lguest_patch(u8 type, u1
memcpy(insns, lguest_insns[type].start, insn_len);
return insn_len;
}
-
-/* From head.S */
-//extern void setup_pda(void);
-extern struct Xgt_desc_struct early_gdt_descr;
__init void lguest_init(void)
{
@@ -466,10 +465,8 @@ __init void lguest_init(void)
/* We use top of mem for initial pagetables. */
init_pg_tables_end = __pa(pg0);
-...
2007 Apr 18
1
[PATCH 0/8] lguest
As promised to Andrew, and with much thanks to Andi Kleen for feedback,
this is the new series of lguest patches.
Main change is the move to drivers/lguest (for future non-i386
expansion), but lots of cleanups driven by Andi's feedback and the
documentation effort (which made me examine every line of code).
It's not perfect, but it's definitely useful.
Cheers,
Rusty.
List of
2007 Apr 18
1
[PATCH 0/8] lguest
As promised to Andrew, and with much thanks to Andi Kleen for feedback,
this is the new series of lguest patches.
Main change is the move to drivers/lguest (for future non-i386
expansion), but lots of cleanups driven by Andi's feedback and the
documentation effort (which made me examine every line of code).
It's not perfect, but it's definitely useful.
Cheers,
Rusty.
List of
2007 May 09
1
[patch 2/9] lguest: the guest code
...lgend_cli },
+ [PARAVIRT_PATCH(irq_enable)] = { lgstart_sti, lgend_sti },
+ [PARAVIRT_PATCH(restore_fl)] = { lgstart_popf, lgend_popf },
+ [PARAVIRT_PATCH(save_fl)] = { lgstart_pushf, lgend_pushf },
+};
+static unsigned lguest_patch(u8 type, u16 clobber, void *insns, unsigned len)
+{
+ unsigned int insn_len;
+
+ /* Don't touch it if we don't have a replacement */
+ if (type >= ARRAY_SIZE(lguest_insns) || !lguest_insns[type].start)
+ return paravirt_patch_default(type, clobber, insns, len);
+
+ insn_len = lguest_insns[type].end - lguest_insns[type].start;
+
+ /* Similarly if we can't fi...
2007 May 09
1
[patch 2/9] lguest: the guest code
...lgend_cli },
+ [PARAVIRT_PATCH(irq_enable)] = { lgstart_sti, lgend_sti },
+ [PARAVIRT_PATCH(restore_fl)] = { lgstart_popf, lgend_popf },
+ [PARAVIRT_PATCH(save_fl)] = { lgstart_pushf, lgend_pushf },
+};
+static unsigned lguest_patch(u8 type, u16 clobber, void *insns, unsigned len)
+{
+ unsigned int insn_len;
+
+ /* Don't touch it if we don't have a replacement */
+ if (type >= ARRAY_SIZE(lguest_insns) || !lguest_insns[type].start)
+ return paravirt_patch_default(type, clobber, insns, len);
+
+ insn_len = lguest_insns[type].end - lguest_insns[type].start;
+
+ /* Similarly if we can't fi...
2007 May 06
1
[PATCH 1/3] lguest: 2.6.21-mm1 update: lguest-remove-unnecessary-gdt-load.patch
...drivers/lguest/lguest.c | 4 ----
1 file changed, 4 deletions(-)
===================================================================
--- a/drivers/lguest/lguest.c
+++ b/drivers/lguest/lguest.c
@@ -409,9 +409,6 @@ static unsigned lguest_patch(u8 type, u1
memcpy(insns, lguest_insns[type].start, insn_len);
return insn_len;
}
-
-/* From head.S */
-extern struct Xgt_desc_struct early_gdt_descr;
__init void lguest_init(void)
{
@@ -468,7 +465,6 @@ __init void lguest_init(void)
/* We use top of mem for initial pagetables. */
init_pg_tables_end = __pa(pg0);
- load_gdt(&early_gdt_descr);...
2007 May 06
1
[PATCH 1/3] lguest: 2.6.21-mm1 update: lguest-remove-unnecessary-gdt-load.patch
...drivers/lguest/lguest.c | 4 ----
1 file changed, 4 deletions(-)
===================================================================
--- a/drivers/lguest/lguest.c
+++ b/drivers/lguest/lguest.c
@@ -409,9 +409,6 @@ static unsigned lguest_patch(u8 type, u1
memcpy(insns, lguest_insns[type].start, insn_len);
return insn_len;
}
-
-/* From head.S */
-extern struct Xgt_desc_struct early_gdt_descr;
__init void lguest_init(void)
{
@@ -468,7 +465,6 @@ __init void lguest_init(void)
/* We use top of mem for initial pagetables. */
init_pg_tables_end = __pa(pg0);
- load_gdt(&early_gdt_descr);...
2007 Apr 18
0
[RFC/PATCH PV_OPS X86_64 01/17] paravirt_ops - core changes
..._pushfq_cli, end_pushfq_cli },
+ [PARAVIRT_INTERRUPT_RETURN] = { start_iret, end_iret },
+ [PARAVIRT_SYSRETQ] = { start_sysretq, end_sysretq },
+ [PARAVIRT_SWAPGS] = { start_swapgs, end_swapgs },
+};
+
+static unsigned native_patch(u8 type, u16 clobbers, void *insns, unsigned len)
+{
+ unsigned int insn_len;
+
+ /* Don't touch it if we don't have a replacement */
+ if (type >= ARRAY_SIZE(native_insns) || !native_insns[type].start)
+ return len;
+
+ insn_len = native_insns[type].end - native_insns[type].start;
+
+ /* Similarly if we can't fit replacement. */
+ if (len < insn_len)
+...
2007 Apr 18
0
[RFC/PATCH PV_OPS X86_64 01/17] paravirt_ops - core changes
..._pushfq_cli, end_pushfq_cli },
+ [PARAVIRT_INTERRUPT_RETURN] = { start_iret, end_iret },
+ [PARAVIRT_SYSRETQ] = { start_sysretq, end_sysretq },
+ [PARAVIRT_SWAPGS] = { start_swapgs, end_swapgs },
+};
+
+static unsigned native_patch(u8 type, u16 clobbers, void *insns, unsigned len)
+{
+ unsigned int insn_len;
+
+ /* Don't touch it if we don't have a replacement */
+ if (type >= ARRAY_SIZE(native_insns) || !native_insns[type].start)
+ return len;
+
+ insn_len = native_insns[type].end - native_insns[type].start;
+
+ /* Similarly if we can't fit replacement. */
+ if (len < insn_len)
+...