bitkeeper revision 1.1172.1.1 (420ba344y-TLJ8cFOVA_8bN7wd3dMw)

Merge scramble.cl.cam.ac.uk:/auto/groups/xeno/BK/xeno.bk
into scramble.cl.cam.ac.uk:/local/scratch/kaf24/xen-unstable.bk
This commit is contained in:
kaf24@scramble.cl.cam.ac.uk committed 2005-02-10 18:09:08 +00:00
commit 52ba37dd67
9 files changed
+48 -32

No files matched your search

+1 -1
View File
@@ -85,7 +85,7 @@ include/xen/banner.h: tools/figlet/figlet tools/figlet/xen.flf
tools/figlet/figlet -d tools/figlet Xen $(XEN_VERSION).$(XEN_SUBVERSION)$(XEN_EXTRAVERSION) > $@.new
@mv -f $@.new $@
include/asm-$(TARGET_ARCH)/asm-offsets.h: arch/$(TARGET_ARCH)/asm-offsets.s $(HDRS)
include/asm-$(TARGET_ARCH)/asm-offsets.h: arch/$(TARGET_ARCH)/asm-offsets.s
@(set -e; \
echo "/*"; \
echo " * DO NOT MODIFY."; \
-1
View File
@@ -19,7 +19,6 @@ override TARGET_ARCH := $(patsubst x86%,x86,$(TARGET_ARCH))
TARGET := $(BASEDIR)/xen
HDRS := $(wildcard $(BASEDIR)/include/xen/*.h)
HDRS += $(wildcard $(BASEDIR)/include/scsi/*.h)
HDRS += $(wildcard $(BASEDIR)/include/public/*.h)
HDRS += $(wildcard $(BASEDIR)/include/asm-$(TARGET_ARCH)/*.h)
HDRS += $(wildcard $(BASEDIR)/include/asm-$(TARGET_ARCH)/$(TARGET_SUBARCH)/*.h)
+1 -1
View File
@@ -27,7 +27,7 @@ $(TARGET)-syms: boot/$(TARGET_SUBARCH).o $(ALL_OBJS) $(TARGET_SUBARCH)/xen.lds
$(LD) $(LDFLAGS) -T $(TARGET_SUBARCH)/xen.lds -N \
boot/$(TARGET_SUBARCH).o $(ALL_OBJS) -o $@
asm-offsets.s: $(TARGET_SUBARCH)/asm-offsets.c
asm-offsets.s: $(TARGET_SUBARCH)/asm-offsets.c $(HDRS)
$(CC) $(CFLAGS) -S -o $@ $<
boot/mkelf32: boot/mkelf32.c
-19
View File
@@ -810,25 +810,6 @@ long do_set_trap_table(trap_info_t *traps)
}
long do_set_callbacks(unsigned long event_selector,
unsigned long event_address,
unsigned long failsafe_selector,
unsigned long failsafe_address)
{
struct exec_domain *d = current;
if ( !VALID_CODESEL(event_selector) || !VALID_CODESEL(failsafe_selector) )
return -EPERM;
d->arch.event_selector = event_selector;
d->arch.event_address = event_address;
d->arch.failsafe_selector = failsafe_selector;
d->arch.failsafe_address = failsafe_address;
return 0;
}
long do_fpu_taskswitch(void)
{
set_bit(EDF_GUEST_STTS, &current->ed_flags);
+18
View File
@@ -274,3 +274,21 @@ long do_set_fast_trap(int idx)
{
return set_fast_trap(current, idx);
}
long do_set_callbacks(unsigned long event_selector,
unsigned long event_address,
unsigned long failsafe_selector,
unsigned long failsafe_address)
{
struct exec_domain *d = current;
if ( !VALID_CODESEL(event_selector) || !VALID_CODESEL(failsafe_selector) )
return -EPERM;
d->arch.event_selector = event_selector;
d->arch.event_address = event_address;
d->arch.failsafe_selector = failsafe_selector;
d->arch.failsafe_address = failsafe_address;
return 0;
}
+1 -2
View File
@@ -43,10 +43,9 @@ void __dummy__(void)
OFFSET(EDOMAIN_processor, struct exec_domain, processor);
OFFSET(EDOMAIN_vcpu_info, struct exec_domain, vcpu_info);
OFFSET(EDOMAIN_event_sel, struct exec_domain, arch.event_selector);
OFFSET(EDOMAIN_event_addr, struct exec_domain, arch.event_address);
OFFSET(EDOMAIN_failsafe_sel, struct exec_domain, arch.failsafe_selector);
OFFSET(EDOMAIN_failsafe_addr, struct exec_domain, arch.failsafe_address);
OFFSET(EDOMAIN_syscall_addr, struct exec_domain, arch.syscall_address);
OFFSET(EDOMAIN_trap_bounce, struct exec_domain, arch.trap_bounce);
OFFSET(EDOMAIN_thread_flags, struct exec_domain, arch.flags);
OFFSET(EDOMAIN_kernel_sp, struct exec_domain, arch.kernel_sp);
+9 -6
View File
@@ -104,12 +104,15 @@ ENTRY(syscall_enter)
movl $TRAP_syscall,4(%rsp)
SAVE_ALL
GET_CURRENT(%rbx)
bts $_TF_kernel_mode,EDOMAIN_thread_flags(%rbx)
jc hypercall
swapgs
movq %rbx,%rdi
call SYMBOL_NAME(write_ptbase)
jmp restore_all_guest
testb $TF_kernel_mode,EDOMAIN_thread_flags(%rbx)
jnz hypercall
leaq EDOMAIN_trap_bounce(%rbx),%rdx
movq EDOMAIN_syscall_addr(%rbx),%rax
movq %rax,TRAPBOUNCE_eip(%rdx)
movw $0,TRAPBOUNCE_flags(%rdx)
pushq restore_all_guest(%rip)
jmp create_bounce_frame
hypercall:
sti
+13
View File
@@ -256,3 +256,16 @@ void *decode_reg(struct xen_regs *regs, u8 b)
return NULL;
}
long do_set_callbacks(unsigned long event_address,
unsigned long failsafe_address,
unsigned long syscall_address)
{
struct exec_domain *d = current;
d->arch.event_address = event_address;
d->arch.failsafe_address = failsafe_address;
d->arch.syscall_address = syscall_address;
return 0;
}
+5 -2
View File
@@ -68,12 +68,15 @@ struct arch_exec_domain
* for segment registers %ds, %es, %fs and %gs:
* %ds, %es, %fs, %gs, %eip, %cs, %eflags [, %oldesp, %oldss]
*/
unsigned long event_selector; /* entry CS */
unsigned long event_selector; /* entry CS (x86/32 only) */
unsigned long event_address; /* entry EIP */
unsigned long failsafe_selector; /* entry CS */
unsigned long failsafe_selector; /* entry CS (x86/32 only) */
unsigned long failsafe_address; /* entry EIP */
unsigned long syscall_address; /* entry EIP (x86/64 only) */
/* Bounce information for propagating an exception to guest OS. */
struct trap_bounce trap_bounce;
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.