[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-3.0.3-testing] merge
# HG changeset patch # User kfraser@xxxxxxxxxxxxxxxxxxxxx # Date 1160676515 -3600 # Node ID af034bee589272e2e7f3214f83c8dd31d27c6f67 # Parent 64b3e8596dc9ad4a419de69a64080c17cfd84ad1 # Parent f14a67a35becfb8fb9b455a219fd1a7c942bc21d merge --- linux-2.6-xen-sparse/arch/ia64/xen/hypervisor.c | 14 linux-2.6-xen-sparse/drivers/xen/netback/netback.c | 71 +- linux-2.6-xen-sparse/drivers/xen/netfront/netfront.c | 22 linux-2.6-xen-sparse/drivers/xen/privcmd/privcmd.c | 27 - linux-2.6-xen-sparse/include/asm-ia64/hypervisor.h | 1 tools/firmware/acpi/acpi_dsdt.asl | 66 +- tools/firmware/acpi/acpi_dsdt.c | 470 +++++++++---------- tools/firmware/hvmloader/smbios.c | 1 tools/xenstore/xenstore_client.c | 21 tools/xenstore/xenstored_transaction.c | 2 xen/arch/x86/domain_build.c | 4 xen/arch/x86/hvm/hvm.c | 4 xen/arch/x86/hvm/svm/svm.c | 10 xen/arch/x86/mm/shadow/multi.c | 134 ++--- xen/include/asm-x86/msr.h | 8 xen/include/asm-x86/perfc_defn.h | 4 16 files changed, 446 insertions(+), 413 deletions(-) diff -r 64b3e8596dc9 -r af034bee5892 linux-2.6-xen-sparse/arch/ia64/xen/hypervisor.c --- a/linux-2.6-xen-sparse/arch/ia64/xen/hypervisor.c Tue Oct 10 21:05:50 2006 +0100 +++ b/linux-2.6-xen-sparse/arch/ia64/xen/hypervisor.c Thu Oct 12 19:08:35 2006 +0100 @@ -546,6 +546,7 @@ struct xen_ia64_privcmd_range { }; struct xen_ia64_privcmd_vma { + int is_privcmd_mmapped; struct xen_ia64_privcmd_range* range; unsigned long num_entries; @@ -684,12 +685,15 @@ static void static void xen_ia64_privcmd_vma_open(struct vm_area_struct* vma) { + struct xen_ia64_privcmd_vma* old_privcmd_vma = (struct xen_ia64_privcmd_vma*)vma->vm_private_data; struct xen_ia64_privcmd_vma* privcmd_vma = (struct xen_ia64_privcmd_vma*)vma->vm_private_data; struct xen_ia64_privcmd_range* privcmd_range = privcmd_vma->range; atomic_inc(&privcmd_range->ref_count); // vm_op->open() can't fail. privcmd_vma = kmalloc(sizeof(*privcmd_vma), GFP_KERNEL | __GFP_NOFAIL); + // copy original value if necessary + privcmd_vma->is_privcmd_mmapped = old_privcmd_vma->is_privcmd_mmapped; __xen_ia64_privcmd_vma_open(vma, privcmd_vma, privcmd_range); } @@ -722,6 +726,14 @@ xen_ia64_privcmd_vma_close(struct vm_are kfree(privcmd_range->res); vfree(privcmd_range); } +} + +int +privcmd_enforce_singleshot_mapping(struct vm_area_struct *vma) +{ + struct xen_ia64_privcmd_vma* privcmd_vma = + (struct xen_ia64_privcmd_vma *)vma->vm_private_data; + return (xchg(&privcmd_vma->is_privcmd_mmapped, 1) == 0); } int @@ -749,6 +761,8 @@ privcmd_mmap(struct file * file, struct if (privcmd_vma == NULL) { goto out_enomem1; } + privcmd_vma->is_privcmd_mmapped = 0; + res = kzalloc(sizeof(*res), GFP_KERNEL); if (res == NULL) { goto out_enomem1; diff -r 64b3e8596dc9 -r af034bee5892 linux-2.6-xen-sparse/drivers/xen/netback/netback.c --- a/linux-2.6-xen-sparse/drivers/xen/netback/netback.c Tue Oct 10 21:05:50 2006 +0100 +++ b/linux-2.6-xen-sparse/drivers/xen/netback/netback.c Thu Oct 12 19:08:35 2006 +0100 @@ -78,7 +78,7 @@ static inline unsigned long idx_to_kaddr #define PKT_PROT_LEN 64 -static struct { +static struct pending_tx_info { netif_tx_request_t req; netif_t *netif; } pending_tx_info[MAX_PENDING_REQS]; @@ -374,14 +374,22 @@ static u16 netbk_gop_frag(netif_t *netif flipped. */ meta->copy = 1; copy_gop = npo->copy + npo->copy_prod++; - copy_gop->source.domid = DOMID_SELF; + copy_gop->flags = GNTCOPY_dest_gref; + if (PageForeign(page)) { + struct pending_tx_info *src_pend = + &pending_tx_info[page->index]; + copy_gop->source.domid = src_pend->netif->domid; + copy_gop->source.u.ref = src_pend->req.gref; + copy_gop->flags |= GNTCOPY_source_gref; + } else { + copy_gop->source.domid = DOMID_SELF; + copy_gop->source.u.gmfn = old_mfn; + } copy_gop->source.offset = offset; - copy_gop->source.u.gmfn = old_mfn; copy_gop->dest.domid = netif->domid; copy_gop->dest.offset = 0; copy_gop->dest.u.ref = req->gref; copy_gop->len = size; - copy_gop->flags = GNTCOPY_dest_gref; } else { meta->copy = 0; if (!xen_feature(XENFEAT_auto_translated_physmap)) { @@ -875,20 +883,28 @@ static void netbk_tx_err(netif_t *netif, netif_put(netif); } -static int netbk_count_requests(netif_t *netif, netif_tx_request_t *txp, - int work_to_do) -{ - netif_tx_request_t *first = txp; +static int netbk_count_requests(netif_t *netif, netif_tx_request_t *first, + netif_tx_request_t *txp, int work_to_do) +{ RING_IDX cons = netif->tx.req_cons; int frags = 0; - while (txp->flags & NETTXF_more_data) { + if (!(first->flags & NETTXF_more_data)) + return 0; + + do { if (frags >= work_to_do) { DPRINTK("Need more frags\n"); return -frags; } - txp = RING_GET_REQUEST(&netif->tx, cons + frags); + if (unlikely(frags >= MAX_SKB_FRAGS)) { + DPRINTK("Too many frags\n"); + return -frags; + } + + memcpy(txp, RING_GET_REQUEST(&netif->tx, cons + frags), + sizeof(*txp)); if (txp->size > first->size) { DPRINTK("Frags galore\n"); return -frags; @@ -902,27 +918,25 @@ static int netbk_count_requests(netif_t txp->offset, txp->size); return -frags; } - } + } while ((txp++)->flags & NETTXF_more_data); return frags; } static gnttab_map_grant_ref_t *netbk_get_requests(netif_t *netif, struct sk_buff *skb, + netif_tx_request_t *txp, gnttab_map_grant_ref_t *mop) { struct skb_shared_info *shinfo = skb_shinfo(skb); skb_frag_t *frags = shinfo->frags; - netif_tx_request_t *txp; unsigned long pending_idx = *((u16 *)skb->data); - RING_IDX cons = netif->tx.req_cons; int i, start; /* Skip first skb fragment if it is on same page as header fragment. */ start = ((unsigned long)shinfo->frags[0].page == pending_idx); - for (i = start; i < shinfo->nr_frags; i++) { - txp = RING_GET_REQUEST(&netif->tx, cons++); + for (i = start; i < shinfo->nr_frags; i++, txp++) { pending_idx = pending_ring[MASK_PEND_IDX(pending_cons++)]; gnttab_set_map_op(mop++, idx_to_kaddr(pending_idx), @@ -1036,7 +1050,7 @@ int netbk_get_extras(netif_t *netif, str int netbk_get_extras(netif_t *netif, struct netif_extra_info *extras, int work_to_do) { - struct netif_extra_info *extra; + struct netif_extra_info extra; RING_IDX cons = netif->tx.req_cons; do { @@ -1045,18 +1059,18 @@ int netbk_get_extras(netif_t *netif, str return -EBADR; } - extra = (struct netif_extra_info *) - RING_GET_REQUEST(&netif->tx, cons); - if (unlikely(!extra->type || - extra->type >= XEN_NETIF_EXTRA_TYPE_MAX)) { + memcpy(&extra, RING_GET_REQUEST(&netif->tx, cons), + sizeof(extra)); + if (unlikely(!extra.type || + extra.type >= XEN_NETIF_EXTRA_TYPE_MAX)) { netif->tx.req_cons = ++cons; - DPRINTK("Invalid extra type: %d\n", extra->type); + DPRINTK("Invalid extra type: %d\n", extra.type); return -EINVAL; } - memcpy(&extras[extra->type - 1], extra, sizeof(*extra)); + memcpy(&extras[extra.type - 1], &extra, sizeof(extra)); netif->tx.req_cons = ++cons; - } while (extra->flags & XEN_NETIF_EXTRA_FLAG_MORE); + } while (extra.flags & XEN_NETIF_EXTRA_FLAG_MORE); return work_to_do; } @@ -1091,6 +1105,7 @@ static void net_tx_action(unsigned long struct sk_buff *skb; netif_t *netif; netif_tx_request_t txreq; + netif_tx_request_t txfrags[MAX_SKB_FRAGS]; struct netif_extra_info extras[XEN_NETIF_EXTRA_TYPE_MAX - 1]; u16 pending_idx; RING_IDX i; @@ -1167,18 +1182,12 @@ static void net_tx_action(unsigned long } } - ret = netbk_count_requests(netif, &txreq, work_to_do); + ret = netbk_count_requests(netif, &txreq, txfrags, work_to_do); if (unlikely(ret < 0)) { netbk_tx_err(netif, &txreq, i - ret); continue; } i += ret; - - if (unlikely(ret > MAX_SKB_FRAGS)) { - DPRINTK("Too many frags\n"); - netbk_tx_err(netif, &txreq, i); - continue; - } if (unlikely(txreq.size < ETH_HLEN)) { DPRINTK("Bad packet size: %d\n", txreq.size); @@ -1248,7 +1257,7 @@ static void net_tx_action(unsigned long pending_cons++; - mop = netbk_get_requests(netif, skb, mop); + mop = netbk_get_requests(netif, skb, txfrags, mop); netif->tx.req_cons = i; netif_schedule_work(netif); diff -r 64b3e8596dc9 -r af034bee5892 linux-2.6-xen-sparse/drivers/xen/netfront/netfront.c --- a/linux-2.6-xen-sparse/drivers/xen/netfront/netfront.c Tue Oct 10 21:05:50 2006 +0100 +++ b/linux-2.6-xen-sparse/drivers/xen/netfront/netfront.c Thu Oct 12 19:08:35 2006 +0100 @@ -1120,6 +1120,7 @@ static int xennet_get_responses(struct n if (net_ratelimit()) WPRINTK("rx->offset: %x, size: %u\n", rx->offset, rx->status); + xennet_move_rx_slot(np, skb, ref); err = -EINVAL; goto next; } @@ -1130,7 +1131,8 @@ static int xennet_get_responses(struct n * situation to the system controller to reboot the backed. */ if (ref == GRANT_INVALID_REF) { - WPRINTK("Bad rx response id %d.\n", rx->id); + if (net_ratelimit()) + WPRINTK("Bad rx response id %d.\n", rx->id); err = -EINVAL; goto next; } @@ -1201,6 +1203,9 @@ next: WPRINTK("Too many frags\n"); err = -E2BIG; } + + if (unlikely(err)) + np->rx.rsp_cons = cons + frags; *pages_flipped_p = pages_flipped; @@ -1306,9 +1311,9 @@ static int netif_poll(struct net_device rp = np->rx.sring->rsp_prod; rmb(); /* Ensure we see queued responses up to 'rp'. */ - for (i = np->rx.rsp_cons, work_done = 0; - (i != rp) && (work_done < budget); - np->rx.rsp_cons = ++i, work_done++) { + i = np->rx.rsp_cons; + work_done = 0; + while ((i != rp) && (work_done < budget)) { memcpy(rx, RING_GET_RESPONSE(&np->rx, i), sizeof(*rx)); memset(extras, 0, sizeof(extras)); @@ -1316,12 +1321,11 @@ static int netif_poll(struct net_device &pages_flipped); if (unlikely(err)) { -err: - i = np->rx.rsp_cons + skb_queue_len(&tmpq) - 1; - work_done--; +err: while ((skb = __skb_dequeue(&tmpq))) __skb_queue_tail(&errq, skb); np->stats.rx_errors++; + i = np->rx.rsp_cons; continue; } @@ -1333,6 +1337,7 @@ err: if (unlikely(xennet_set_skb_gso(skb, gso))) { __skb_queue_head(&tmpq, skb); + np->rx.rsp_cons += skb_queue_len(&tmpq); goto err; } } @@ -1396,6 +1401,9 @@ err: np->stats.rx_bytes += skb->len; __skb_queue_tail(&rxq, skb); + + np->rx.rsp_cons = ++i; + work_done++; } if (pages_flipped) { diff -r 64b3e8596dc9 -r af034bee5892 linux-2.6-xen-sparse/drivers/xen/privcmd/privcmd.c --- a/linux-2.6-xen-sparse/drivers/xen/privcmd/privcmd.c Tue Oct 10 21:05:50 2006 +0100 +++ b/linux-2.6-xen-sparse/drivers/xen/privcmd/privcmd.c Thu Oct 12 19:08:35 2006 +0100 @@ -34,6 +34,10 @@ static struct proc_dir_entry *privcmd_intf; static struct proc_dir_entry *capabilities_intf; + +#ifndef HAVE_ARCH_PRIVCMD_MMAP +static int privcmd_enforce_singleshot_mapping(struct vm_area_struct *vma); +#endif static int privcmd_ioctl(struct inode *inode, struct file *file, unsigned int cmd, unsigned long data) @@ -122,11 +126,9 @@ static int privcmd_ioctl(struct inode *i vma = find_vma(mm, msg.va); rc = -EINVAL; - if (!vma || (msg.va != vma->vm_start) || vma->vm_private_data) + if (!vma || (msg.va != vma->vm_start) || + !privcmd_enforce_singleshot_mapping(vma)) goto mmap_out; - - /* Mapping is a one-shot operation per vma. */ - vma->vm_private_data = (void *)1; va = vma->vm_start; @@ -137,7 +139,7 @@ static int privcmd_ioctl(struct inode *i /* Do not allow range to wrap the address space. */ rc = -EINVAL; - if ((msg.npages > (INT_MAX >> PAGE_SHIFT)) || + if ((msg.npages > (LONG_MAX >> PAGE_SHIFT)) || ((unsigned long)(msg.npages << PAGE_SHIFT) >= -va)) goto mmap_out; @@ -181,7 +183,7 @@ static int privcmd_ioctl(struct inode *i if (copy_from_user(&m, udata, sizeof(m))) return -EFAULT; - if ((m.num <= 0) || (m.num > (INT_MAX >> PAGE_SHIFT))) + if ((m.num <= 0) || (m.num > (LONG_MAX >> PAGE_SHIFT))) return -EINVAL; down_read(&mm->mmap_sem); @@ -189,14 +191,12 @@ static int privcmd_ioctl(struct inode *i vma = find_vma(mm, m.addr); if (!vma || (m.addr != vma->vm_start) || - ((m.addr + (m.num<<PAGE_SHIFT)) != vma->vm_end) || - vma->vm_private_data) { + ((m.addr + ((unsigned long)m.num<<PAGE_SHIFT)) != + vma->vm_end) || + !privcmd_enforce_singleshot_mapping(vma)) { up_read(&mm->mmap_sem); return -EINVAL; } - - /* Mapping is a one-shot operation per vma. */ - vma->vm_private_data = (void *)1; p = m.arr; addr = m.addr; @@ -251,6 +251,11 @@ static int privcmd_mmap(struct file * fi return 0; } + +static int privcmd_enforce_singleshot_mapping(struct vm_area_struct *vma) +{ + return (xchg(&vma->vm_private_data, (void *)1) == NULL); +} #endif static struct file_operations privcmd_file_ops = { diff -r 64b3e8596dc9 -r af034bee5892 linux-2.6-xen-sparse/include/asm-ia64/hypervisor.h --- a/linux-2.6-xen-sparse/include/asm-ia64/hypervisor.h Tue Oct 10 21:05:50 2006 +0100 +++ b/linux-2.6-xen-sparse/include/asm-ia64/hypervisor.h Thu Oct 12 19:08:35 2006 +0100 @@ -138,6 +138,7 @@ int direct_remap_pfn_range(struct vm_are pgprot_t prot, domid_t domid); struct file; +int privcmd_enforce_singleshot_mapping(struct vm_area_struct *vma); int privcmd_mmap(struct file * file, struct vm_area_struct * vma); #define HAVE_ARCH_PRIVCMD_MMAP diff -r 64b3e8596dc9 -r af034bee5892 tools/firmware/acpi/acpi_dsdt.asl --- a/tools/firmware/acpi/acpi_dsdt.asl Tue Oct 10 21:05:50 2006 +0100 +++ b/tools/firmware/acpi/acpi_dsdt.asl Thu Oct 12 19:08:35 2006 +0100 @@ -115,20 +115,15 @@ DefinitionBlock ("DSDT.aml", "DSDT", 1, 0x0000, 0xF300) - /* reserve what device model consumed for PCI VGA device */ + /* reserve memory for pci devices */ DWordMemory (ResourceConsumer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, 0xF0000000, - 0xF1FFFFFF, + 0xF4FFFFFF, 0x00000000, - 0x02000000) - DWordMemory (ResourceConsumer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, - 0x00000000, - 0xF2000000, - 0xF2000FFF, - 0x00000000, - 0x00001000) + 0x05000000) + }) Return (PRT0) } @@ -299,38 +294,43 @@ DefinitionBlock ("DSDT.aml", "DSDT", 1, Return (PRTP) } // end _PRT - Name(PRTP, Package(){ - Package(){0x0000ffff, 0, \_SB.PCI0.LNKA, 0}, // Slot 1, INTA - Package(){0x0000ffff, 1, \_SB.PCI0.LNKB, 0}, // Slot 1, INTB - Package(){0x0000ffff, 2, \_SB.PCI0.LNKC, 0}, // Slot 1, INTC - Package(){0x0000ffff, 3, \_SB.PCI0.LNKD, 0}, // Slot 1, INTD - - Package(){0x0001ffff, 0, \_SB.PCI0.LNKB, 0}, // Slot 2, INTB - Package(){0x0001ffff, 1, \_SB.PCI0.LNKC, 0}, // Slot 2, INTC - Package(){0x0001ffff, 2, \_SB.PCI0.LNKD, 0}, // Slot 2, INTD - Package(){0x0001ffff, 3, \_SB.PCI0.LNKA, 0}, // Slot 2, INTA + Name(PRTP, Package() { + // Slot 1, INTA - INTD + Package(){0x0000ffff, 0, \_SB.PCI0.LNKA, 0}, + Package(){0x0000ffff, 1, \_SB.PCI0.LNKB, 0}, + Package(){0x0000ffff, 2, \_SB.PCI0.LNKC, 0}, + Package(){0x0000ffff, 3, \_SB.PCI0.LNKD, 0}, + + // Slot 2, INTA - INTD + Package(){0x0001ffff, 0, \_SB.PCI0.LNKB, 0}, + Package(){0x0001ffff, 1, \_SB.PCI0.LNKC, 0}, + Package(){0x0001ffff, 2, \_SB.PCI0.LNKD, 0}, + Package(){0x0001ffff, 3, \_SB.PCI0.LNKA, 0}, - Package(){0x0002ffff, 0, \_SB.PCI0.LNKC, 0}, // Slot 3, INTC - Package(){0x0002ffff, 1, \_SB.PCI0.LNKD, 0}, // Slot 3, INTD - Package(){0x0002ffff, 2, \_SB.PCI0.LNKA, 0}, // Slot 3, INTA - Package(){0x0002ffff, 3, \_SB.PCI0.LNKB, 0}, // Slot 3, INTB + // Slot 3, INTA - INTD + Package(){0x0002ffff, 0, \_SB.PCI0.LNKC, 0}, + Package(){0x0002ffff, 1, \_SB.PCI0.LNKD, 0}, + Package(){0x0002ffff, 2, \_SB.PCI0.LNKA, 0}, + Package(){0x0002ffff, 3, \_SB.PCI0.LNKB, 0}, - Package(){0x0003ffff, 0, \_SB.PCI0.LNKD, 0}, // Slot 2, INTD - Package(){0x0003ffff, 1, \_SB.PCI0.LNKA, 0}, // Slot 2, INTA - Package(){0x0003ffff, 2, \_SB.PCI0.LNKB, 0}, // Slot 2, INTB - Package(){0x0003ffff, 3, \_SB.PCI0.LNKC, 0}, // Slot 2, INTC + // Slot 4, INTA - INTD + Package(){0x0003ffff, 0, \_SB.PCI0.LNKD, 0}, + Package(){0x0003ffff, 1, \_SB.PCI0.LNKA, 0}, + Package(){0x0003ffff, 2, \_SB.PCI0.LNKB, 0}, + Package(){0x0003ffff, 3, \_SB.PCI0.LNKC, 0}, + // Slot 5, INTA - INTD + Package(){0x0004ffff, 0, \_SB.PCI0.LNKA, 0}, + Package(){0x0004ffff, 1, \_SB.PCI0.LNKB, 0}, + Package(){0x0004ffff, 2, \_SB.PCI0.LNKC, 0}, + Package(){0x0004ffff, 3, \_SB.PCI0.LNKD, 0}, } ) Name(PRTA, Package(){ - Package(){0x0001ffff, 0, 0, 5}, // Device 1, INTA - + Package(){0x0001ffff, 0, 0, 5}, // Device 1, INTA Package(){0x0002ffff, 0, 0, 7}, // Device 2, INTA - Package(){0x0003ffff, 0, 0, 10}, // Device 3, INTA - - Package(){0x0004ffff, 0, 0, 11}, // Device 4, INTA - + Package(){0x0004ffff, 0, 0, 11}, // Device 4, INTA } ) diff -r 64b3e8596dc9 -r af034bee5892 tools/firmware/acpi/acpi_dsdt.c --- a/tools/firmware/acpi/acpi_dsdt.c Tue Oct 10 21:05:50 2006 +0100 +++ b/tools/firmware/acpi/acpi_dsdt.c Thu Oct 12 19:08:35 2006 +0100 @@ -1,19 +1,19 @@ /* * * Intel ACPI Component Architecture - * ASL Optimizing Compiler / AML Disassembler version 20050513 [Jun 8 2005] + * ASL Optimizing Compiler / AML Disassembler version 20050513 [Oct 12 2006] * Copyright (C) 2000 - 2005 Intel Corporation * Supports ACPI Specification Revision 3.0 * - * Compilation of "acpi_dsdt.asl" - Mon Aug 14 18:15:09 2006 + * Compilation of "acpi_dsdt.asl" - Thu Oct 12 14:08:49 2006 * * C source code output * */ unsigned char AmlCode[] = { - 0x44,0x53,0x44,0x54,0xBA,0x08,0x00,0x00, /* 00000000 "DSDT...." */ - 0x01,0x1D,0x49,0x4E,0x54,0x45,0x4C,0x00, /* 00000008 "..INTEL." */ + 0x44,0x53,0x44,0x54,0xDA,0x08,0x00,0x00, /* 00000000 "DSDT...." */ + 0x01,0x26,0x49,0x4E,0x54,0x45,0x4C,0x00, /* 00000008 ".&INTEL." */ 0x69,0x6E,0x74,0x2D,0x78,0x65,0x6E,0x00, /* 00000010 "int-xen." */ 0xD6,0x07,0x00,0x00,0x49,0x4E,0x54,0x4C, /* 00000018 "....INTL" */ 0x13,0x05,0x05,0x20,0x08,0x50,0x4D,0x42, /* 00000020 "... .PMB" */ @@ -34,7 +34,7 @@ unsigned char AmlCode[] = 0x12,0x08,0x04,0x0A,0x07,0x0A,0x07,0x00, /* 00000098 "........" */ 0x00,0x08,0x50,0x49,0x43,0x44,0x00,0x14, /* 000000A0 "..PICD.." */ 0x0C,0x5F,0x50,0x49,0x43,0x01,0x70,0x68, /* 000000A8 "._PIC.ph" */ - 0x50,0x49,0x43,0x44,0x10,0x45,0x80,0x5F, /* 000000B0 "PICD.E._" */ + 0x50,0x49,0x43,0x44,0x10,0x45,0x82,0x5F, /* 000000B0 "PICD.E._" */ 0x53,0x42,0x5F,0x5B,0x82,0x49,0x04,0x4D, /* 000000B8 "SB_[.I.M" */ 0x45,0x4D,0x30,0x08,0x5F,0x48,0x49,0x44, /* 000000C0 "EM0._HID" */ 0x0C,0x41,0xD0,0x0C,0x02,0x08,0x5F,0x43, /* 000000C8 ".A...._C" */ @@ -45,7 +45,7 @@ unsigned char AmlCode[] = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 000000F0 "........" */ 0x00,0x00,0x00,0x00,0x00,0x00,0x0A,0x00, /* 000000F8 "........" */ 0x00,0x00,0x00,0x00,0x79,0x00,0x5B,0x82, /* 00000100 "....y.[." */ - 0x42,0x7B,0x50,0x43,0x49,0x30,0x08,0x5F, /* 00000108 "B{PCI0._" */ + 0x42,0x7D,0x50,0x43,0x49,0x30,0x08,0x5F, /* 00000108 "B}PCI0._" */ 0x48,0x49,0x44,0x0C,0x41,0xD0,0x0A,0x03, /* 00000110 "HID.A..." */ 0x08,0x5F,0x55,0x49,0x44,0x00,0x08,0x5F, /* 00000118 "._UID.._" */ 0x41,0x44,0x52,0x00,0x08,0x5F,0x42,0x42, /* 00000120 "ADR.._BB" */ @@ -55,9 +55,9 @@ unsigned char AmlCode[] = 0x33,0x03,0x49,0x52,0x51,0x35,0x05,0x49, /* 00000140 "3.IRQ5.I" */ 0x52,0x51,0x37,0x07,0x49,0x52,0x51,0x39, /* 00000148 "RQ7.IRQ9" */ 0x09,0x49,0x52,0x51,0x41,0x0A,0x49,0x52, /* 00000150 ".IRQA.IR" */ - 0x51,0x42,0x0B,0x14,0x44,0x08,0x5F,0x43, /* 00000158 "QB..D._C" */ + 0x51,0x42,0x0B,0x14,0x4A,0x06,0x5F,0x43, /* 00000158 "QB..J._C" */ 0x52,0x53,0x00,0x08,0x50,0x52,0x54,0x30, /* 00000160 "RS..PRT0" */ - 0x11,0x42,0x07,0x0A,0x6E,0x88,0x0D,0x00, /* 00000168 ".B..n..." */ + 0x11,0x48,0x05,0x0A,0x54,0x88,0x0D,0x00, /* 00000168 ".H..T..." */ 0x02,0x0F,0x00,0x00,0x00,0x00,0x00,0xFF, /* 00000170 "........" */ 0x00,0x00,0x00,0x00,0x01,0x47,0x01,0xF8, /* 00000178 ".....G.." */ 0x0C,0xF8,0x0C,0x01,0x08,0x88,0x0D,0x00, /* 00000180 "........" */ @@ -66,231 +66,235 @@ unsigned char AmlCode[] = 0x01,0x0C,0x03,0x00,0x00,0x00,0x0D,0xFF, /* 00000198 "........" */ 0xFF,0x00,0x00,0x00,0xF3,0x87,0x17,0x00, /* 000001A0 "........" */ 0x00,0x0D,0x03,0x00,0x00,0x00,0x00,0x00, /* 000001A8 "........" */ - 0x00,0x00,0xF0,0xFF,0xFF,0xFF,0xF1,0x00, /* 000001B0 "........" */ - 0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x87, /* 000001B8 "........" */ - 0x17,0x00,0x00,0x0D,0x03,0x00,0x00,0x00, /* 000001C0 "........" */ - 0x00,0x00,0x00,0x00,0xF2,0xFF,0x0F,0x00, /* 000001C8 "........" */ - 0xF2,0x00,0x00,0x00,0x00,0x00,0x10,0x00, /* 000001D0 "........" */ - 0x00,0x79,0x00,0xA4,0x50,0x52,0x54,0x30, /* 000001D8 ".y..PRT0" */ - 0x08,0x42,0x55,0x46,0x41,0x11,0x09,0x0A, /* 000001E0 ".BUFA..." */ - 0x06,0x23,0xF8,0xDC,0x18,0x79,0x00,0x08, /* 000001E8 ".#...y.." */ - 0x42,0x55,0x46,0x42,0x11,0x09,0x0A,0x06, /* 000001F0 "BUFB...." */ - 0x23,0x00,0x00,0x18,0x79,0x00,0x8B,0x42, /* 000001F8 "#...y..B" */ - 0x55,0x46,0x42,0x01,0x49,0x52,0x51,0x56, /* 00000200 "UFB.IRQV" */ - 0x08,0x42,0x55,0x46,0x43,0x11,0x07,0x0A, /* 00000208 ".BUFC..." */ - 0x04,0x05,0x07,0x0A,0x0B,0x8C,0x42,0x55, /* 00000210 "......BU" */ - 0x46,0x43,0x01,0x50,0x49,0x51,0x41,0x8C, /* 00000218 "FC.PIQA." */ - 0x42,0x55,0x46,0x43,0x01,0x50,0x49,0x51, /* 00000220 "BUFC.PIQ" */ - 0x42,0x8C,0x42,0x55,0x46,0x43,0x01,0x50, /* 00000228 "B.BUFC.P" */ - 0x49,0x51,0x43,0x8C,0x42,0x55,0x46,0x43, /* 00000230 "IQC.BUFC" */ - 0x01,0x50,0x49,0x51,0x44,0x5B,0x82,0x48, /* 00000238 ".PIQD[.H" */ - 0x08,0x4C,0x4E,0x4B,0x41,0x08,0x5F,0x48, /* 00000240 ".LNKA._H" */ - 0x49,0x44,0x0C,0x41,0xD0,0x0C,0x0F,0x08, /* 00000248 "ID.A...." */ - 0x5F,0x55,0x49,0x44,0x01,0x14,0x1C,0x5F, /* 00000250 "_UID..._" */ - 0x53,0x54,0x41,0x00,0x7B,0x50,0x49,0x52, /* 00000258 "STA.{PIR" */ - 0x41,0x0A,0x80,0x60,0xA0,0x08,0x93,0x60, /* 00000260 "A..`...`" */ - 0x0A,0x80,0xA4,0x0A,0x09,0xA1,0x04,0xA4, /* 00000268 "........" */ - 0x0A,0x0B,0x14,0x0B,0x5F,0x50,0x52,0x53, /* 00000270 "...._PRS" */ - 0x00,0xA4,0x42,0x55,0x46,0x41,0x14,0x11, /* 00000278 "..BUFA.." */ - 0x5F,0x44,0x49,0x53,0x00,0x7D,0x50,0x49, /* 00000280 "_DIS.}PI" */ - 0x52,0x41,0x0A,0x80,0x50,0x49,0x52,0x41, /* 00000288 "RA..PIRA" */ - 0x14,0x1A,0x5F,0x43,0x52,0x53,0x00,0x7B, /* 00000290 ".._CRS.{" */ - 0x50,0x49,0x52,0x42,0x0A,0x0F,0x60,0x79, /* 00000298 "PIRB..`y" */ - 0x01,0x60,0x49,0x52,0x51,0x56,0xA4,0x42, /* 000002A0 ".`IRQV.B" */ - 0x55,0x46,0x42,0x14,0x1B,0x5F,0x53,0x52, /* 000002A8 "UFB.._SR" */ - 0x53,0x01,0x8B,0x68,0x01,0x49,0x52,0x51, /* 000002B0 "S..h.IRQ" */ - 0x31,0x82,0x49,0x52,0x51,0x31,0x60,0x76, /* 000002B8 "1.IRQ1`v" */ - 0x60,0x70,0x60,0x50,0x49,0x52,0x41,0x5B, /* 000002C0 "`p`PIRA[" */ - 0x82,0x49,0x08,0x4C,0x4E,0x4B,0x42,0x08, /* 000002C8 ".I.LNKB." */ - 0x5F,0x48,0x49,0x44,0x0C,0x41,0xD0,0x0C, /* 000002D0 "_HID.A.." */ - 0x0F,0x08,0x5F,0x55,0x49,0x44,0x0A,0x02, /* 000002D8 ".._UID.." */ - 0x14,0x1C,0x5F,0x53,0x54,0x41,0x00,0x7B, /* 000002E0 ".._STA.{" */ - 0x50,0x49,0x52,0x42,0x0A,0x80,0x60,0xA0, /* 000002E8 "PIRB..`." */ - 0x08,0x93,0x60,0x0A,0x80,0xA4,0x0A,0x09, /* 000002F0 "..`....." */ - 0xA1,0x04,0xA4,0x0A,0x0B,0x14,0x0B,0x5F, /* 000002F8 "......._" */ - 0x50,0x52,0x53,0x00,0xA4,0x42,0x55,0x46, /* 00000300 "PRS..BUF" */ - 0x41,0x14,0x11,0x5F,0x44,0x49,0x53,0x00, /* 00000308 "A.._DIS." */ - 0x7D,0x50,0x49,0x52,0x42,0x0A,0x80,0x50, /* 00000310 "}PIRB..P" */ - 0x49,0x52,0x42,0x14,0x1A,0x5F,0x43,0x52, /* 00000318 "IRB.._CR" */ - 0x53,0x00,0x7B,0x50,0x49,0x52,0x42,0x0A, /* 00000320 "S.{PIRB." */ - 0x0F,0x60,0x79,0x01,0x60,0x49,0x52,0x51, /* 00000328 ".`y.`IRQ" */ - 0x56,0xA4,0x42,0x55,0x46,0x42,0x14,0x1B, /* 00000330 "V.BUFB.." */ - 0x5F,0x53,0x52,0x53,0x01,0x8B,0x68,0x01, /* 00000338 "_SRS..h." */ - 0x49,0x52,0x51,0x31,0x82,0x49,0x52,0x51, /* 00000340 "IRQ1.IRQ" */ - 0x31,0x60,0x76,0x60,0x70,0x60,0x50,0x49, /* 00000348 "1`v`p`PI" */ - 0x52,0x42,0x5B,0x82,0x49,0x08,0x4C,0x4E, /* 00000350 "RB[.I.LN" */ - 0x4B,0x43,0x08,0x5F,0x48,0x49,0x44,0x0C, /* 00000358 "KC._HID." */ - 0x41,0xD0,0x0C,0x0F,0x08,0x5F,0x55,0x49, /* 00000360 "A...._UI" */ - 0x44,0x0A,0x03,0x14,0x1C,0x5F,0x53,0x54, /* 00000368 "D...._ST" */ - 0x41,0x00,0x7B,0x50,0x49,0x52,0x43,0x0A, /* 00000370 "A.{PIRC." */ - 0x80,0x60,0xA0,0x08,0x93,0x60,0x0A,0x80, /* 00000378 ".`...`.." */ - 0xA4,0x0A,0x09,0xA1,0x04,0xA4,0x0A,0x0B, /* 00000380 "........" */ - 0x14,0x0B,0x5F,0x50,0x52,0x53,0x00,0xA4, /* 00000388 ".._PRS.." */ - 0x42,0x55,0x46,0x41,0x14,0x11,0x5F,0x44, /* 00000390 "BUFA.._D" */ - 0x49,0x53,0x00,0x7D,0x50,0x49,0x52,0x43, /* 00000398 "IS.}PIRC" */ - 0x0A,0x80,0x50,0x49,0x52,0x43,0x14,0x1A, /* 000003A0 "..PIRC.." */ - 0x5F,0x43,0x52,0x53,0x00,0x7B,0x50,0x49, /* 000003A8 "_CRS.{PI" */ - 0x52,0x43,0x0A,0x0F,0x60,0x79,0x01,0x60, /* 000003B0 "RC..`y.`" */ - 0x49,0x52,0x51,0x56,0xA4,0x42,0x55,0x46, /* 000003B8 "IRQV.BUF" */ - 0x42,0x14,0x1B,0x5F,0x53,0x52,0x53,0x01, /* 000003C0 "B.._SRS." */ - 0x8B,0x68,0x01,0x49,0x52,0x51,0x31,0x82, /* 000003C8 ".h.IRQ1." */ - 0x49,0x52,0x51,0x31,0x60,0x76,0x60,0x70, /* 000003D0 "IRQ1`v`p" */ - 0x60,0x50,0x49,0x52,0x43,0x5B,0x82,0x49, /* 000003D8 "`PIRC[.I" */ - 0x08,0x4C,0x4E,0x4B,0x44,0x08,0x5F,0x48, /* 000003E0 ".LNKD._H" */ - 0x49,0x44,0x0C,0x41,0xD0,0x0C,0x0F,0x08, /* 000003E8 "ID.A...." */ - 0x5F,0x55,0x49,0x44,0x0A,0x04,0x14,0x1C, /* 000003F0 "_UID...." */ - 0x5F,0x53,0x54,0x41,0x00,0x7B,0x50,0x49, /* 000003F8 "_STA.{PI" */ - 0x52,0x44,0x0A,0x80,0x60,0xA0,0x08,0x93, /* 00000400 "RD..`..." */ - 0x60,0x0A,0x80,0xA4,0x0A,0x09,0xA1,0x04, /* 00000408 "`......." */ - 0xA4,0x0A,0x0B,0x14,0x0B,0x5F,0x50,0x52, /* 00000410 "....._PR" */ - 0x53,0x00,0xA4,0x42,0x55,0x46,0x41,0x14, /* 00000418 "S..BUFA." */ - 0x11,0x5F,0x44,0x49,0x53,0x00,0x7D,0x50, /* 00000420 "._DIS.}P" */ - 0x49,0x52,0x44,0x0A,0x80,0x50,0x49,0x52, /* 00000428 "IRD..PIR" */ - 0x44,0x14,0x1A,0x5F,0x43,0x52,0x53,0x00, /* 00000430 "D.._CRS." */ - 0x7B,0x50,0x49,0x52,0x44,0x0A,0x0F,0x60, /* 00000438 "{PIRD..`" */ - 0x79,0x01,0x60,0x49,0x52,0x51,0x56,0xA4, /* 00000440 "y.`IRQV." */ - 0x42,0x55,0x46,0x42,0x14,0x1B,0x5F,0x53, /* 00000448 "BUFB.._S" */ - 0x52,0x53,0x01,0x8B,0x68,0x01,0x49,0x52, /* 00000450 "RS..h.IR" */ - 0x51,0x31,0x82,0x49,0x52,0x51,0x31,0x60, /* 00000458 "Q1.IRQ1`" */ - 0x76,0x60,0x70,0x60,0x50,0x49,0x52,0x44, /* 00000460 "v`p`PIRD" */ - 0x14,0x16,0x5F,0x50,0x52,0x54,0x00,0xA0, /* 00000468 ".._PRT.." */ - 0x0A,0x50,0x49,0x43,0x44,0xA4,0x50,0x52, /* 00000470 ".PICD.PR" */ - 0x54,0x41,0xA4,0x50,0x52,0x54,0x50,0x08, /* 00000478 "TA.PRTP." */ - 0x50,0x52,0x54,0x50,0x12,0x43,0x0E,0x10, /* 00000480 "PRTP.C.." */ - 0x12,0x0B,0x04,0x0B,0xFF,0xFF,0x00,0x4C, /* 00000488 ".......L" */ - 0x4E,0x4B,0x41,0x00,0x12,0x0B,0x04,0x0B, /* 00000490 "NKA....." */ - 0xFF,0xFF,0x01,0x4C,0x4E,0x4B,0x42,0x00, /* 00000498 "...LNKB." */ - 0x12,0x0C,0x04,0x0B,0xFF,0xFF,0x0A,0x02, /* 000004A0 "........" */ - 0x4C,0x4E,0x4B,0x43,0x00,0x12,0x0C,0x04, /* 000004A8 "LNKC...." */ - 0x0B,0xFF,0xFF,0x0A,0x03,0x4C,0x4E,0x4B, /* 000004B0 ".....LNK" */ - 0x44,0x00,0x12,0x0D,0x04,0x0C,0xFF,0xFF, /* 000004B8 "D......." */ - 0x01,0x00,0x00,0x4C,0x4E,0x4B,0x42,0x00, /* 000004C0 "...LNKB." */ - 0x12,0x0D,0x04,0x0C,0xFF,0xFF,0x01,0x00, /* 000004C8 "........" */ - 0x01,0x4C,0x4E,0x4B,0x43,0x00,0x12,0x0E, /* 000004D0 ".LNKC..." */ - 0x04,0x0C,0xFF,0xFF,0x01,0x00,0x0A,0x02, /* 000004D8 "........" */ - 0x4C,0x4E,0x4B,0x44,0x00,0x12,0x0E,0x04, /* 000004E0 "LNKD...." */ - 0x0C,0xFF,0xFF,0x01,0x00,0x0A,0x03,0x4C, /* 000004E8 ".......L" */ - 0x4E,0x4B,0x41,0x00,0x12,0x0D,0x04,0x0C, /* 000004F0 "NKA....." */ - 0xFF,0xFF,0x02,0x00,0x00,0x4C,0x4E,0x4B, /* 000004F8 ".....LNK" */ - 0x43,0x00,0x12,0x0D,0x04,0x0C,0xFF,0xFF, /* 00000500 "C......." */ - 0x02,0x00,0x01,0x4C,0x4E,0x4B,0x44,0x00, /* 00000508 "...LNKD." */ - 0x12,0x0E,0x04,0x0C,0xFF,0xFF,0x02,0x00, /* 00000510 "........" */ - 0x0A,0x02,0x4C,0x4E,0x4B,0x41,0x00,0x12, /* 00000518 "..LNKA.." */ - 0x0E,0x04,0x0C,0xFF,0xFF,0x02,0x00,0x0A, /* 00000520 "........" */ - 0x03,0x4C,0x4E,0x4B,0x42,0x00,0x12,0x0D, /* 00000528 ".LNKB..." */ - 0x04,0x0C,0xFF,0xFF,0x03,0x00,0x00,0x4C, /* 00000530 ".......L" */ - 0x4E,0x4B,0x44,0x00,0x12,0x0D,0x04,0x0C, /* 00000538 "NKD....." */ - 0xFF,0xFF,0x03,0x00,0x01,0x4C,0x4E,0x4B, /* 00000540 ".....LNK" */ - 0x41,0x00,0x12,0x0E,0x04,0x0C,0xFF,0xFF, /* 00000548 "A......." */ - 0x03,0x00,0x0A,0x02,0x4C,0x4E,0x4B,0x42, /* 00000550 "....LNKB" */ - 0x00,0x12,0x0E,0x04,0x0C,0xFF,0xFF,0x03, /* 00000558 "........" */ - 0x00,0x0A,0x03,0x4C,0x4E,0x4B,0x43,0x00, /* 00000560 "...LNKC." */ - 0x08,0x50,0x52,0x54,0x41,0x12,0x32,0x04, /* 00000568 ".PRTA.2." */ - 0x12,0x0B,0x04,0x0C,0xFF,0xFF,0x01,0x00, /* 00000570 "........" */ - 0x00,0x00,0x0A,0x05,0x12,0x0B,0x04,0x0C, /* 00000578 "........" */ - 0xFF,0xFF,0x02,0x00,0x00,0x00,0x0A,0x07, /* 00000580 "........" */ - 0x12,0x0B,0x04,0x0C,0xFF,0xFF,0x03,0x00, /* 00000588 "........" */ - 0x00,0x00,0x0A,0x0A,0x12,0x0B,0x04,0x0C, /* 00000590 "........" */ - 0xFF,0xFF,0x04,0x00,0x00,0x00,0x0A,0x0B, /* 00000598 "........" */ - 0x5B,0x82,0x48,0x31,0x49,0x53,0x41,0x5F, /* 000005A0 "[.H1ISA_" */ - 0x08,0x5F,0x41,0x44,0x52,0x00,0x5B,0x80, /* 000005A8 "._ADR.[." */ - 0x50,0x49,0x52,0x51,0x02,0x0A,0x60,0x0A, /* 000005B0 "PIRQ..`." */ - 0x04,0x10,0x2E,0x5C,0x00,0x5B,0x81,0x29, /* 000005B8 "...\.[.)" */ - 0x5C,0x2F,0x04,0x5F,0x53,0x42,0x5F,0x50, /* 000005C0 "\/._SB_P" */ - 0x43,0x49,0x30,0x49,0x53,0x41,0x5F,0x50, /* 000005C8 "CI0ISA_P" */ - 0x49,0x52,0x51,0x01,0x50,0x49,0x52,0x41, /* 000005D0 "IRQ.PIRA" */ - 0x08,0x50,0x49,0x52,0x42,0x08,0x50,0x49, /* 000005D8 ".PIRB.PI" */ - 0x52,0x43,0x08,0x50,0x49,0x52,0x44,0x08, /* 000005E0 "RC.PIRD." */ - 0x5B,0x82,0x46,0x0B,0x53,0x59,0x53,0x52, /* 000005E8 "[.F.SYSR" */ - 0x08,0x5F,0x48,0x49,0x44,0x0C,0x41,0xD0, /* 000005F0 "._HID.A." */ - 0x0C,0x02,0x08,0x5F,0x55,0x49,0x44,0x01, /* 000005F8 "..._UID." */ - 0x08,0x43,0x52,0x53,0x5F,0x11,0x4E,0x08, /* 00000600 ".CRS_.N." */ - 0x0A,0x8A,0x47,0x01,0x10,0x00,0x10,0x00, /* 00000608 "..G....." */ - 0x00,0x10,0x47,0x01,0x22,0x00,0x22,0x00, /* 00000610 "..G."."." */ - 0x00,0x0C,0x47,0x01,0x30,0x00,0x30,0x00, /* 00000618 "..G.0.0." */ - 0x00,0x10,0x47,0x01,0x44,0x00,0x44,0x00, /* 00000620 "..G.D.D." */ - 0x00,0x1C,0x47,0x01,0x62,0x00,0x62,0x00, /* 00000628 "..G.b.b." */ - 0x00,0x02,0x47,0x01,0x65,0x00,0x65,0x00, /* 00000630 "..G.e.e." */ - 0x00,0x0B,0x47,0x01,0x72,0x00,0x72,0x00, /* 00000638 "..G.r.r." */ - 0x00,0x0E,0x47,0x01,0x80,0x00,0x80,0x00, /* 00000640 "..G....." */ - 0x00,0x01,0x47,0x01,0x84,0x00,0x84,0x00, /* 00000648 "..G....." */ - 0x00,0x03,0x47,0x01,0x88,0x00,0x88,0x00, /* 00000650 "..G....." */ - 0x00,0x01,0x47,0x01,0x8C,0x00,0x8C,0x00, /* 00000658 "..G....." */ - 0x00,0x03,0x47,0x01,0x90,0x00,0x90,0x00, /* 00000660 "..G....." */ - 0x00,0x10,0x47,0x01,0xA2,0x00,0xA2,0x00, /* 00000668 "..G....." */ - 0x00,0x1C,0x47,0x01,0xE0,0x00,0xE0,0x00, /* 00000670 "..G....." */ - 0x00,0x10,0x47,0x01,0xA0,0x08,0xA0,0x08, /* 00000678 "..G....." */ - 0x00,0x04,0x47,0x01,0xC0,0x0C,0xC0,0x0C, /* 00000680 "..G....." */ - 0x00,0x10,0x47,0x01,0xD0,0x04,0xD0,0x04, /* 00000688 "..G....." */ - 0x00,0x02,0x79,0x00,0x14,0x0B,0x5F,0x43, /* 00000690 "..y..._C" */ - 0x52,0x53,0x00,0xA4,0x43,0x52,0x53,0x5F, /* 00000698 "RS..CRS_" */ - 0x5B,0x82,0x2B,0x50,0x49,0x43,0x5F,0x08, /* 000006A0 "[.+PIC_." */ - 0x5F,0x48,0x49,0x44,0x0B,0x41,0xD0,0x08, /* 000006A8 "_HID.A.." */ - 0x5F,0x43,0x52,0x53,0x11,0x18,0x0A,0x15, /* 000006B0 "_CRS...." */ - 0x47,0x01,0x20,0x00,0x20,0x00,0x01,0x02, /* 000006B8 "G. . ..." */ - 0x47,0x01,0xA0,0x00,0xA0,0x00,0x01,0x02, /* 000006C0 "G......." */ - 0x22,0x04,0x00,0x79,0x00,0x5B,0x82,0x47, /* 000006C8 ""..y.[.G" */ - 0x05,0x44,0x4D,0x41,0x30,0x08,0x5F,0x48, /* 000006D0 ".DMA0._H" */ - 0x49,0x44,0x0C,0x41,0xD0,0x02,0x00,0x08, /* 000006D8 "ID.A...." */ - 0x5F,0x43,0x52,0x53,0x11,0x41,0x04,0x0A, /* 000006E0 "_CRS.A.." */ - 0x3D,0x2A,0x10,0x04,0x47,0x01,0x00,0x00, /* 000006E8 "=*..G..." */ - 0x00,0x00,0x00,0x10,0x47,0x01,0x81,0x00, /* 000006F0 "....G..." */ - 0x81,0x00,0x00,0x03,0x47,0x01,0x87,0x00, /* 000006F8 "....G..." */ - 0x87,0x00,0x00,0x01,0x47,0x01,0x89,0x00, /* 00000700 "....G..." */ - 0x89,0x00,0x00,0x03,0x47,0x01,0x8F,0x00, /* 00000708 "....G..." */ - 0x8F,0x00,0x00,0x01,0x47,0x01,0xC0,0x00, /* 00000710 "....G..." */ - 0xC0,0x00,0x00,0x20,0x47,0x01,0x80,0x04, /* 00000718 "... G..." */ - 0x80,0x04,0x00,0x10,0x79,0x00,0x5B,0x82, /* 00000720 "....y.[." */ - 0x25,0x54,0x4D,0x52,0x5F,0x08,0x5F,0x48, /* 00000728 "%TMR_._H" */ - 0x49,0x44,0x0C,0x41,0xD0,0x01,0x00,0x08, /* 00000730 "ID.A...." */ - 0x5F,0x43,0x52,0x53,0x11,0x10,0x0A,0x0D, /* 00000738 "_CRS...." */ - 0x47,0x01,0x40,0x00,0x40,0x00,0x00,0x04, /* 00000740 "G.@.@..." */ - 0x22,0x01,0x00,0x79,0x00,0x5B,0x82,0x25, /* 00000748 ""..y.[.%" */ - 0x52,0x54,0x43,0x5F,0x08,0x5F,0x48,0x49, /* 00000750 "RTC_._HI" */ - 0x44,0x0C,0x41,0xD0,0x0B,0x00,0x08,0x5F, /* 00000758 "D.A...._" */ - 0x43,0x52,0x53,0x11,0x10,0x0A,0x0D,0x47, /* 00000760 "CRS....G" */ - 0x01,0x70,0x00,0x70,0x00,0x00,0x02,0x22, /* 00000768 ".p.p..."" */ - 0x00,0x01,0x79,0x00,0x5B,0x82,0x22,0x53, /* 00000770 "..y.[."S" */ - 0x50,0x4B,0x52,0x08,0x5F,0x48,0x49,0x44, /* 00000778 "PKR._HID" */ - 0x0C,0x41,0xD0,0x08,0x00,0x08,0x5F,0x43, /* 00000780 ".A...._C" */ - 0x52,0x53,0x11,0x0D,0x0A,0x0A,0x47,0x01, /* 00000788 "RS....G." */ - 0x61,0x00,0x61,0x00,0x00,0x01,0x79,0x00, /* 00000790 "a.a...y." */ - 0x5B,0x82,0x31,0x50,0x53,0x32,0x4D,0x08, /* 00000798 "[.1PS2M." */ - 0x5F,0x48,0x49,0x44,0x0C,0x41,0xD0,0x0F, /* 000007A0 "_HID.A.." */ - 0x13,0x08,0x5F,0x43,0x49,0x44,0x0C,0x41, /* 000007A8 ".._CID.A" */ - 0xD0,0x0F,0x13,0x14,0x09,0x5F,0x53,0x54, /* 000007B0 "....._ST" */ - 0x41,0x00,0xA4,0x0A,0x0F,0x08,0x5F,0x43, /* 000007B8 "A....._C" */ - 0x52,0x53,0x11,0x08,0x0A,0x05,0x22,0x00, /* 000007C0 "RS...."." */ - 0x10,0x79,0x00,0x5B,0x82,0x42,0x04,0x50, /* 000007C8 ".y.[.B.P" */ - 0x53,0x32,0x4B,0x08,0x5F,0x48,0x49,0x44, /* 000007D0 "S2K._HID" */ - 0x0C,0x41,0xD0,0x03,0x03,0x08,0x5F,0x43, /* 000007D8 ".A...._C" */ - 0x49,0x44,0x0C,0x41,0xD0,0x03,0x0B,0x14, /* 000007E0 "ID.A...." */ - 0x09,0x5F,0x53,0x54,0x41,0x00,0xA4,0x0A, /* 000007E8 "._STA..." */ - 0x0F,0x08,0x5F,0x43,0x52,0x53,0x11,0x18, /* 000007F0 ".._CRS.." */ - 0x0A,0x15,0x47,0x01,0x60,0x00,0x60,0x00, /* 000007F8 "..G.`.`." */ - 0x00,0x01,0x47,0x01,0x64,0x00,0x64,0x00, /* 00000800 "..G.d.d." */ - 0x00,0x01,0x22,0x02,0x00,0x79,0x00,0x5B, /* 00000808 ".."..y.[" */ - 0x82,0x3A,0x46,0x44,0x43,0x30,0x08,0x5F, /* 00000810 ".:FDC0._" */ - 0x48,0x49,0x44,0x0C,0x41,0xD0,0x07,0x00, /* 00000818 "HID.A..." */ - 0x14,0x09,0x5F,0x53,0x54,0x41,0x00,0xA4, /* 00000820 ".._STA.." */ - 0x0A,0x0F,0x08,0x5F,0x43,0x52,0x53,0x11, /* 00000828 "..._CRS." */ - 0x1B,0x0A,0x18,0x47,0x01,0xF0,0x03,0xF0, /* 00000830 "...G...." */ - 0x03,0x01,0x06,0x47,0x01,0xF7,0x03,0xF7, /* 00000838 "...G...." */ - 0x03,0x01,0x01,0x22,0x40,0x00,0x2A,0x04, /* 00000840 "..."@.*." */ - 0x00,0x79,0x00,0x5B,0x82,0x35,0x55,0x41, /* 00000848 ".y.[.5UA" */ - 0x52,0x31,0x08,0x5F,0x48,0x49,0x44,0x0C, /* 00000850 "R1._HID." */ - 0x41,0xD0,0x05,0x01,0x08,0x5F,0x55,0x49, /* 00000858 "A...._UI" */ - 0x44,0x01,0x14,0x09,0x5F,0x53,0x54,0x41, /* 00000860 "D..._STA" */ - 0x00,0xA4,0x0A,0x0F,0x08,0x5F,0x43,0x52, /* 00000868 "....._CR" */ - 0x53,0x11,0x10,0x0A,0x0D,0x47,0x01,0xF8, /* 00000870 "S....G.." */ - 0x03,0xF8,0x03,0x01,0x08,0x22,0x10,0x00, /* 00000878 ".....".." */ - 0x79,0x00,0x5B,0x82,0x36,0x4C,0x54,0x50, /* 00000880 "y.[.6LTP" */ - 0x31,0x08,0x5F,0x48,0x49,0x44,0x0C,0x41, /* 00000888 "1._HID.A" */ - 0xD0,0x04,0x00,0x08,0x5F,0x55,0x49,0x44, /* 00000890 "...._UID" */ - 0x0A,0x02,0x14,0x09,0x5F,0x53,0x54,0x41, /* 00000898 "...._STA" */ - 0x00,0xA4,0x0A,0x0F,0x08,0x5F,0x43,0x52, /* 000008A0 "....._CR" */ - 0x53,0x11,0x10,0x0A,0x0D,0x47,0x01,0x78, /* 000008A8 "S....G.x" */ - 0x03,0x78,0x03,0x08,0x08,0x22,0x80,0x00, /* 000008B0 ".x...".." */ + 0x00,0x00,0xF0,0xFF,0xFF,0xFF,0xF4,0x00, /* 000001B0 "........" */ + 0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x79, /* 000001B8 ".......y" */ + 0x00,0xA4,0x50,0x52,0x54,0x30,0x08,0x42, /* 000001C0 "..PRT0.B" */ + 0x55,0x46,0x41,0x11,0x09,0x0A,0x06,0x23, /* 000001C8 "UFA....#" */ + 0xF8,0xDC,0x18,0x79,0x00,0x08,0x42,0x55, /* 000001D0 "...y..BU" */ + 0x46,0x42,0x11,0x09,0x0A,0x06,0x23,0x00, /* 000001D8 "FB....#." */ + 0x00,0x18,0x79,0x00,0x8B,0x42,0x55,0x46, /* 000001E0 "..y..BUF" */ + 0x42,0x01,0x49,0x52,0x51,0x56,0x08,0x42, /* 000001E8 "B.IRQV.B" */ + 0x55,0x46,0x43,0x11,0x07,0x0A,0x04,0x05, /* 000001F0 "UFC....." */ + 0x07,0x0A,0x0B,0x8C,0x42,0x55,0x46,0x43, /* 000001F8 "....BUFC" */ + 0x01,0x50,0x49,0x51,0x41,0x8C,0x42,0x55, /* 00000200 ".PIQA.BU" */ + 0x46,0x43,0x01,0x50,0x49,0x51,0x42,0x8C, /* 00000208 "FC.PIQB." */ + 0x42,0x55,0x46,0x43,0x01,0x50,0x49,0x51, /* 00000210 "BUFC.PIQ" */ + 0x43,0x8C,0x42,0x55,0x46,0x43,0x01,0x50, /* 00000218 "C.BUFC.P" */ + 0x49,0x51,0x44,0x5B,0x82,0x48,0x08,0x4C, /* 00000220 "IQD[.H.L" */ + 0x4E,0x4B,0x41,0x08,0x5F,0x48,0x49,0x44, /* 00000228 "NKA._HID" */ + 0x0C,0x41,0xD0,0x0C,0x0F,0x08,0x5F,0x55, /* 00000230 ".A...._U" */ + 0x49,0x44,0x01,0x14,0x1C,0x5F,0x53,0x54, /* 00000238 "ID..._ST" */ + 0x41,0x00,0x7B,0x50,0x49,0x52,0x41,0x0A, /* 00000240 "A.{PIRA." */ + 0x80,0x60,0xA0,0x08,0x93,0x60,0x0A,0x80, /* 00000248 ".`...`.." */ + 0xA4,0x0A,0x09,0xA1,0x04,0xA4,0x0A,0x0B, /* 00000250 "........" */ + 0x14,0x0B,0x5F,0x50,0x52,0x53,0x00,0xA4, /* 00000258 ".._PRS.." */ + 0x42,0x55,0x46,0x41,0x14,0x11,0x5F,0x44, /* 00000260 "BUFA.._D" */ + 0x49,0x53,0x00,0x7D,0x50,0x49,0x52,0x41, /* 00000268 "IS.}PIRA" */ + 0x0A,0x80,0x50,0x49,0x52,0x41,0x14,0x1A, /* 00000270 "..PIRA.." */ + 0x5F,0x43,0x52,0x53,0x00,0x7B,0x50,0x49, /* 00000278 "_CRS.{PI" */ + 0x52,0x42,0x0A,0x0F,0x60,0x79,0x01,0x60, /* 00000280 "RB..`y.`" */ + 0x49,0x52,0x51,0x56,0xA4,0x42,0x55,0x46, /* 00000288 "IRQV.BUF" */ + 0x42,0x14,0x1B,0x5F,0x53,0x52,0x53,0x01, /* 00000290 "B.._SRS." */ + 0x8B,0x68,0x01,0x49,0x52,0x51,0x31,0x82, /* 00000298 ".h.IRQ1." */ + 0x49,0x52,0x51,0x31,0x60,0x76,0x60,0x70, /* 000002A0 "IRQ1`v`p" */ + 0x60,0x50,0x49,0x52,0x41,0x5B,0x82,0x49, /* 000002A8 "`PIRA[.I" */ + 0x08,0x4C,0x4E,0x4B,0x42,0x08,0x5F,0x48, /* 000002B0 ".LNKB._H" */ + 0x49,0x44,0x0C,0x41,0xD0,0x0C,0x0F,0x08, /* 000002B8 "ID.A...." */ + 0x5F,0x55,0x49,0x44,0x0A,0x02,0x14,0x1C, /* 000002C0 "_UID...." */ + 0x5F,0x53,0x54,0x41,0x00,0x7B,0x50,0x49, /* 000002C8 "_STA.{PI" */ + 0x52,0x42,0x0A,0x80,0x60,0xA0,0x08,0x93, /* 000002D0 "RB..`..." */ + 0x60,0x0A,0x80,0xA4,0x0A,0x09,0xA1,0x04, /* 000002D8 "`......." */ + 0xA4,0x0A,0x0B,0x14,0x0B,0x5F,0x50,0x52, /* 000002E0 "....._PR" */ + 0x53,0x00,0xA4,0x42,0x55,0x46,0x41,0x14, /* 000002E8 "S..BUFA." */ + 0x11,0x5F,0x44,0x49,0x53,0x00,0x7D,0x50, /* 000002F0 "._DIS.}P" */ + 0x49,0x52,0x42,0x0A,0x80,0x50,0x49,0x52, /* 000002F8 "IRB..PIR" */ + 0x42,0x14,0x1A,0x5F,0x43,0x52,0x53,0x00, /* 00000300 "B.._CRS." */ + 0x7B,0x50,0x49,0x52,0x42,0x0A,0x0F,0x60, /* 00000308 "{PIRB..`" */ + 0x79,0x01,0x60,0x49,0x52,0x51,0x56,0xA4, /* 00000310 "y.`IRQV." */ + 0x42,0x55,0x46,0x42,0x14,0x1B,0x5F,0x53, /* 00000318 "BUFB.._S" */ + 0x52,0x53,0x01,0x8B,0x68,0x01,0x49,0x52, /* 00000320 "RS..h.IR" */ + 0x51,0x31,0x82,0x49,0x52,0x51,0x31,0x60, /* 00000328 "Q1.IRQ1`" */ + 0x76,0x60,0x70,0x60,0x50,0x49,0x52,0x42, /* 00000330 "v`p`PIRB" */ + 0x5B,0x82,0x49,0x08,0x4C,0x4E,0x4B,0x43, /* 00000338 "[.I.LNKC" */ + 0x08,0x5F,0x48,0x49,0x44,0x0C,0x41,0xD0, /* 00000340 "._HID.A." */ + 0x0C,0x0F,0x08,0x5F,0x55,0x49,0x44,0x0A, /* 00000348 "..._UID." */ + 0x03,0x14,0x1C,0x5F,0x53,0x54,0x41,0x00, /* 00000350 "..._STA." */ + 0x7B,0x50,0x49,0x52,0x43,0x0A,0x80,0x60, /* 00000358 "{PIRC..`" */ + 0xA0,0x08,0x93,0x60,0x0A,0x80,0xA4,0x0A, /* 00000360 "...`...." */ + 0x09,0xA1,0x04,0xA4,0x0A,0x0B,0x14,0x0B, /* 00000368 "........" */ + 0x5F,0x50,0x52,0x53,0x00,0xA4,0x42,0x55, /* 00000370 "_PRS..BU" */ + 0x46,0x41,0x14,0x11,0x5F,0x44,0x49,0x53, /* 00000378 "FA.._DIS" */ + 0x00,0x7D,0x50,0x49,0x52,0x43,0x0A,0x80, /* 00000380 ".}PIRC.." */ + 0x50,0x49,0x52,0x43,0x14,0x1A,0x5F,0x43, /* 00000388 "PIRC.._C" */ + 0x52,0x53,0x00,0x7B,0x50,0x49,0x52,0x43, /* 00000390 "RS.{PIRC" */ + 0x0A,0x0F,0x60,0x79,0x01,0x60,0x49,0x52, /* 00000398 "..`y.`IR" */ + 0x51,0x56,0xA4,0x42,0x55,0x46,0x42,0x14, /* 000003A0 "QV.BUFB." */ + 0x1B,0x5F,0x53,0x52,0x53,0x01,0x8B,0x68, /* 000003A8 "._SRS..h" */ + 0x01,0x49,0x52,0x51,0x31,0x82,0x49,0x52, /* 000003B0 ".IRQ1.IR" */ + 0x51,0x31,0x60,0x76,0x60,0x70,0x60,0x50, /* 000003B8 "Q1`v`p`P" */ + 0x49,0x52,0x43,0x5B,0x82,0x49,0x08,0x4C, /* 000003C0 "IRC[.I.L" */ + 0x4E,0x4B,0x44,0x08,0x5F,0x48,0x49,0x44, /* 000003C8 "NKD._HID" */ + 0x0C,0x41,0xD0,0x0C,0x0F,0x08,0x5F,0x55, /* 000003D0 ".A...._U" */ + 0x49,0x44,0x0A,0x04,0x14,0x1C,0x5F,0x53, /* 000003D8 "ID...._S" */ + 0x54,0x41,0x00,0x7B,0x50,0x49,0x52,0x44, /* 000003E0 "TA.{PIRD" */ + 0x0A,0x80,0x60,0xA0,0x08,0x93,0x60,0x0A, /* 000003E8 "..`...`." */ + 0x80,0xA4,0x0A,0x09,0xA1,0x04,0xA4,0x0A, /* 000003F0 "........" */ + 0x0B,0x14,0x0B,0x5F,0x50,0x52,0x53,0x00, /* 000003F8 "..._PRS." */ + 0xA4,0x42,0x55,0x46,0x41,0x14,0x11,0x5F, /* 00000400 ".BUFA.._" */ + 0x44,0x49,0x53,0x00,0x7D,0x50,0x49,0x52, /* 00000408 "DIS.}PIR" */ + 0x44,0x0A,0x80,0x50,0x49,0x52,0x44,0x14, /* 00000410 "D..PIRD." */ + 0x1A,0x5F,0x43,0x52,0x53,0x00,0x7B,0x50, /* 00000418 "._CRS.{P" */ + 0x49,0x52,0x44,0x0A,0x0F,0x60,0x79,0x01, /* 00000420 "IRD..`y." */ + 0x60,0x49,0x52,0x51,0x56,0xA4,0x42,0x55, /* 00000428 "`IRQV.BU" */ + 0x46,0x42,0x14,0x1B,0x5F,0x53,0x52,0x53, /* 00000430 "FB.._SRS" */ + 0x01,0x8B,0x68,0x01,0x49,0x52,0x51,0x31, /* 00000438 "..h.IRQ1" */ + 0x82,0x49,0x52,0x51,0x31,0x60,0x76,0x60, /* 00000440 ".IRQ1`v`" */ + 0x70,0x60,0x50,0x49,0x52,0x44,0x14,0x16, /* 00000448 "p`PIRD.." */ + 0x5F,0x50,0x52,0x54,0x00,0xA0,0x0A,0x50, /* 00000450 "_PRT...P" */ + 0x49,0x43,0x44,0xA4,0x50,0x52,0x54,0x41, /* 00000458 "ICD.PRTA" */ + 0xA4,0x50,0x52,0x54,0x50,0x08,0x50,0x52, /* 00000460 ".PRTP.PR" */ + 0x54,0x50,0x12,0x4D,0x11,0x14,0x12,0x0B, /* 00000468 "TP.M...." */ + 0x04,0x0B,0xFF,0xFF,0x00,0x4C,0x4E,0x4B, /* 00000470 ".....LNK" */ + 0x41,0x00,0x12,0x0B,0x04,0x0B,0xFF,0xFF, /* 00000478 "A......." */ + 0x01,0x4C,0x4E,0x4B,0x42,0x00,0x12,0x0C, /* 00000480 ".LNKB..." */ + 0x04,0x0B,0xFF,0xFF,0x0A,0x02,0x4C,0x4E, /* 00000488 "......LN" */ + 0x4B,0x43,0x00,0x12,0x0C,0x04,0x0B,0xFF, /* 00000490 "KC......" */ + 0xFF,0x0A,0x03,0x4C,0x4E,0x4B,0x44,0x00, /* 00000498 "...LNKD." */ + 0x12,0x0D,0x04,0x0C,0xFF,0xFF,0x01,0x00, /* 000004A0 "........" */ + 0x00,0x4C,0x4E,0x4B,0x42,0x00,0x12,0x0D, /* 000004A8 ".LNKB..." */ + 0x04,0x0C,0xFF,0xFF,0x01,0x00,0x01,0x4C, /* 000004B0 ".......L" */ + 0x4E,0x4B,0x43,0x00,0x12,0x0E,0x04,0x0C, /* 000004B8 "NKC....." */ + 0xFF,0xFF,0x01,0x00,0x0A,0x02,0x4C,0x4E, /* 000004C0 "......LN" */ + 0x4B,0x44,0x00,0x12,0x0E,0x04,0x0C,0xFF, /* 000004C8 "KD......" */ + 0xFF,0x01,0x00,0x0A,0x03,0x4C,0x4E,0x4B, /* 000004D0 ".....LNK" */ + 0x41,0x00,0x12,0x0D,0x04,0x0C,0xFF,0xFF, /* 000004D8 "A......." */ + 0x02,0x00,0x00,0x4C,0x4E,0x4B,0x43,0x00, /* 000004E0 "...LNKC." */ + 0x12,0x0D,0x04,0x0C,0xFF,0xFF,0x02,0x00, /* 000004E8 "........" */ + 0x01,0x4C,0x4E,0x4B,0x44,0x00,0x12,0x0E, /* 000004F0 ".LNKD..." */ + 0x04,0x0C,0xFF,0xFF,0x02,0x00,0x0A,0x02, /* 000004F8 "........" */ + 0x4C,0x4E,0x4B,0x41,0x00,0x12,0x0E,0x04, /* 00000500 "LNKA...." */ + 0x0C,0xFF,0xFF,0x02,0x00,0x0A,0x03,0x4C, /* 00000508 ".......L" */ + 0x4E,0x4B,0x42,0x00,0x12,0x0D,0x04,0x0C, /* 00000510 "NKB....." */ + 0xFF,0xFF,0x03,0x00,0x00,0x4C,0x4E,0x4B, /* 00000518 ".....LNK" */ + 0x44,0x00,0x12,0x0D,0x04,0x0C,0xFF,0xFF, /* 00000520 "D......." */ + 0x03,0x00,0x01,0x4C,0x4E,0x4B,0x41,0x00, /* 00000528 "...LNKA." */ + 0x12,0x0E,0x04,0x0C,0xFF,0xFF,0x03,0x00, /* 00000530 "........" */ + 0x0A,0x02,0x4C,0x4E,0x4B,0x42,0x00,0x12, /* 00000538 "..LNKB.." */ + 0x0E,0x04,0x0C,0xFF,0xFF,0x03,0x00,0x0A, /* 00000540 "........" */ + 0x03,0x4C,0x4E,0x4B,0x43,0x00,0x12,0x0D, /* 00000548 ".LNKC..." */ + 0x04,0x0C,0xFF,0xFF,0x04,0x00,0x00,0x4C, /* 00000550 ".......L" */ + 0x4E,0x4B,0x41,0x00,0x12,0x0D,0x04,0x0C, /* 00000558 "NKA....." */ + 0xFF,0xFF,0x04,0x00,0x01,0x4C,0x4E,0x4B, /* 00000560 ".....LNK" */ + 0x42,0x00,0x12,0x0E,0x04,0x0C,0xFF,0xFF, /* 00000568 "B......." */ + 0x04,0x00,0x0A,0x02,0x4C,0x4E,0x4B,0x43, /* 00000570 "....LNKC" */ + 0x00,0x12,0x0E,0x04,0x0C,0xFF,0xFF,0x04, /* 00000578 "........" */ + 0x00,0x0A,0x03,0x4C,0x4E,0x4B,0x44,0x00, /* 00000580 "...LNKD." */ + 0x08,0x50,0x52,0x54,0x41,0x12,0x32,0x04, /* 00000588 ".PRTA.2." */ + 0x12,0x0B,0x04,0x0C,0xFF,0xFF,0x01,0x00, /* 00000590 "........" */ + 0x00,0x00,0x0A,0x05,0x12,0x0B,0x04,0x0C, /* 00000598 "........" */ + 0xFF,0xFF,0x02,0x00,0x00,0x00,0x0A,0x07, /* 000005A0 "........" */ + 0x12,0x0B,0x04,0x0C,0xFF,0xFF,0x03,0x00, /* 000005A8 "........" */ + 0x00,0x00,0x0A,0x0A,0x12,0x0B,0x04,0x0C, /* 000005B0 "........" */ + 0xFF,0xFF,0x04,0x00,0x00,0x00,0x0A,0x0B, /* 000005B8 "........" */ + 0x5B,0x82,0x48,0x31,0x49,0x53,0x41,0x5F, /* 000005C0 "[.H1ISA_" */ + 0x08,0x5F,0x41,0x44,0x52,0x00,0x5B,0x80, /* 000005C8 "._ADR.[." */ + 0x50,0x49,0x52,0x51,0x02,0x0A,0x60,0x0A, /* 000005D0 "PIRQ..`." */ + 0x04,0x10,0x2E,0x5C,0x00,0x5B,0x81,0x29, /* 000005D8 "...\.[.)" */ + 0x5C,0x2F,0x04,0x5F,0x53,0x42,0x5F,0x50, /* 000005E0 "\/._SB_P" */ + 0x43,0x49,0x30,0x49,0x53,0x41,0x5F,0x50, /* 000005E8 "CI0ISA_P" */ + 0x49,0x52,0x51,0x01,0x50,0x49,0x52,0x41, /* 000005F0 "IRQ.PIRA" */ + 0x08,0x50,0x49,0x52,0x42,0x08,0x50,0x49, /* 000005F8 ".PIRB.PI" */ + 0x52,0x43,0x08,0x50,0x49,0x52,0x44,0x08, /* 00000600 "RC.PIRD." */ + 0x5B,0x82,0x46,0x0B,0x53,0x59,0x53,0x52, /* 00000608 "[.F.SYSR" */ + 0x08,0x5F,0x48,0x49,0x44,0x0C,0x41,0xD0, /* 00000610 "._HID.A." */ + 0x0C,0x02,0x08,0x5F,0x55,0x49,0x44,0x01, /* 00000618 "..._UID." */ + 0x08,0x43,0x52,0x53,0x5F,0x11,0x4E,0x08, /* 00000620 ".CRS_.N." */ + 0x0A,0x8A,0x47,0x01,0x10,0x00,0x10,0x00, /* 00000628 "..G....." */ + 0x00,0x10,0x47,0x01,0x22,0x00,0x22,0x00, /* 00000630 "..G."."." */ + 0x00,0x0C,0x47,0x01,0x30,0x00,0x30,0x00, /* 00000638 "..G.0.0." */ + 0x00,0x10,0x47,0x01,0x44,0x00,0x44,0x00, /* 00000640 "..G.D.D." */ + 0x00,0x1C,0x47,0x01,0x62,0x00,0x62,0x00, /* 00000648 "..G.b.b." */ + 0x00,0x02,0x47,0x01,0x65,0x00,0x65,0x00, /* 00000650 "..G.e.e." */ + 0x00,0x0B,0x47,0x01,0x72,0x00,0x72,0x00, /* 00000658 "..G.r.r." */ + 0x00,0x0E,0x47,0x01,0x80,0x00,0x80,0x00, /* 00000660 "..G....." */ + 0x00,0x01,0x47,0x01,0x84,0x00,0x84,0x00, /* 00000668 "..G....." */ + 0x00,0x03,0x47,0x01,0x88,0x00,0x88,0x00, /* 00000670 "..G....." */ + 0x00,0x01,0x47,0x01,0x8C,0x00,0x8C,0x00, /* 00000678 "..G....." */ + 0x00,0x03,0x47,0x01,0x90,0x00,0x90,0x00, /* 00000680 "..G....." */ + 0x00,0x10,0x47,0x01,0xA2,0x00,0xA2,0x00, /* 00000688 "..G....." */ + 0x00,0x1C,0x47,0x01,0xE0,0x00,0xE0,0x00, /* 00000690 "..G....." */ + 0x00,0x10,0x47,0x01,0xA0,0x08,0xA0,0x08, /* 00000698 "..G....." */ + 0x00,0x04,0x47,0x01,0xC0,0x0C,0xC0,0x0C, /* 000006A0 "..G....." */ + 0x00,0x10,0x47,0x01,0xD0,0x04,0xD0,0x04, /* 000006A8 "..G....." */ + 0x00,0x02,0x79,0x00,0x14,0x0B,0x5F,0x43, /* 000006B0 "..y..._C" */ + 0x52,0x53,0x00,0xA4,0x43,0x52,0x53,0x5F, /* 000006B8 "RS..CRS_" */ + 0x5B,0x82,0x2B,0x50,0x49,0x43,0x5F,0x08, /* 000006C0 "[.+PIC_." */ + 0x5F,0x48,0x49,0x44,0x0B,0x41,0xD0,0x08, /* 000006C8 "_HID.A.." */ + 0x5F,0x43,0x52,0x53,0x11,0x18,0x0A,0x15, /* 000006D0 "_CRS...." */ + 0x47,0x01,0x20,0x00,0x20,0x00,0x01,0x02, /* 000006D8 "G. . ..." */ + 0x47,0x01,0xA0,0x00,0xA0,0x00,0x01,0x02, /* 000006E0 "G......." */ + 0x22,0x04,0x00,0x79,0x00,0x5B,0x82,0x47, /* 000006E8 ""..y.[.G" */ + 0x05,0x44,0x4D,0x41,0x30,0x08,0x5F,0x48, /* 000006F0 ".DMA0._H" */ + 0x49,0x44,0x0C,0x41,0xD0,0x02,0x00,0x08, /* 000006F8 "ID.A...." */ + 0x5F,0x43,0x52,0x53,0x11,0x41,0x04,0x0A, /* 00000700 "_CRS.A.." */ + 0x3D,0x2A,0x10,0x04,0x47,0x01,0x00,0x00, /* 00000708 "=*..G..." */ + 0x00,0x00,0x00,0x10,0x47,0x01,0x81,0x00, /* 00000710 "....G..." */ + 0x81,0x00,0x00,0x03,0x47,0x01,0x87,0x00, /* 00000718 "....G..." */ + 0x87,0x00,0x00,0x01,0x47,0x01,0x89,0x00, /* 00000720 "....G..." */ + 0x89,0x00,0x00,0x03,0x47,0x01,0x8F,0x00, /* 00000728 "....G..." */ + 0x8F,0x00,0x00,0x01,0x47,0x01,0xC0,0x00, /* 00000730 "....G..." */ + 0xC0,0x00,0x00,0x20,0x47,0x01,0x80,0x04, /* 00000738 "... G..." */ + 0x80,0x04,0x00,0x10,0x79,0x00,0x5B,0x82, /* 00000740 "....y.[." */ + 0x25,0x54,0x4D,0x52,0x5F,0x08,0x5F,0x48, /* 00000748 "%TMR_._H" */ + 0x49,0x44,0x0C,0x41,0xD0,0x01,0x00,0x08, /* 00000750 "ID.A...." */ + 0x5F,0x43,0x52,0x53,0x11,0x10,0x0A,0x0D, /* 00000758 "_CRS...." */ + 0x47,0x01,0x40,0x00,0x40,0x00,0x00,0x04, /* 00000760 "G.@.@..." */ + 0x22,0x01,0x00,0x79,0x00,0x5B,0x82,0x25, /* 00000768 ""..y.[.%" */ + 0x52,0x54,0x43,0x5F,0x08,0x5F,0x48,0x49, /* 00000770 "RTC_._HI" */ + 0x44,0x0C,0x41,0xD0,0x0B,0x00,0x08,0x5F, /* 00000778 "D.A...._" */ + 0x43,0x52,0x53,0x11,0x10,0x0A,0x0D,0x47, /* 00000780 "CRS....G" */ + 0x01,0x70,0x00,0x70,0x00,0x00,0x02,0x22, /* 00000788 ".p.p..."" */ + 0x00,0x01,0x79,0x00,0x5B,0x82,0x22,0x53, /* 00000790 "..y.[."S" */ + 0x50,0x4B,0x52,0x08,0x5F,0x48,0x49,0x44, /* 00000798 "PKR._HID" */ + 0x0C,0x41,0xD0,0x08,0x00,0x08,0x5F,0x43, /* 000007A0 ".A...._C" */ + 0x52,0x53,0x11,0x0D,0x0A,0x0A,0x47,0x01, /* 000007A8 "RS....G." */ + 0x61,0x00,0x61,0x00,0x00,0x01,0x79,0x00, /* 000007B0 "a.a...y." */ + 0x5B,0x82,0x31,0x50,0x53,0x32,0x4D,0x08, /* 000007B8 "[.1PS2M." */ + 0x5F,0x48,0x49,0x44,0x0C,0x41,0xD0,0x0F, /* 000007C0 "_HID.A.." */ + 0x13,0x08,0x5F,0x43,0x49,0x44,0x0C,0x41, /* 000007C8 ".._CID.A" */ + 0xD0,0x0F,0x13,0x14,0x09,0x5F,0x53,0x54, /* 000007D0 "....._ST" */ + 0x41,0x00,0xA4,0x0A,0x0F,0x08,0x5F,0x43, /* 000007D8 "A....._C" */ + 0x52,0x53,0x11,0x08,0x0A,0x05,0x22,0x00, /* 000007E0 "RS...."." */ + 0x10,0x79,0x00,0x5B,0x82,0x42,0x04,0x50, /* 000007E8 ".y.[.B.P" */ + 0x53,0x32,0x4B,0x08,0x5F,0x48,0x49,0x44, /* 000007F0 "S2K._HID" */ + 0x0C,0x41,0xD0,0x03,0x03,0x08,0x5F,0x43, /* 000007F8 ".A...._C" */ + 0x49,0x44,0x0C,0x41,0xD0,0x03,0x0B,0x14, /* 00000800 "ID.A...." */ + 0x09,0x5F,0x53,0x54,0x41,0x00,0xA4,0x0A, /* 00000808 "._STA..." */ + 0x0F,0x08,0x5F,0x43,0x52,0x53,0x11,0x18, /* 00000810 ".._CRS.." */ + 0x0A,0x15,0x47,0x01,0x60,0x00,0x60,0x00, /* 00000818 "..G.`.`." */ + 0x00,0x01,0x47,0x01,0x64,0x00,0x64,0x00, /* 00000820 "..G.d.d." */ + 0x00,0x01,0x22,0x02,0x00,0x79,0x00,0x5B, /* 00000828 ".."..y.[" */ + 0x82,0x3A,0x46,0x44,0x43,0x30,0x08,0x5F, /* 00000830 ".:FDC0._" */ + 0x48,0x49,0x44,0x0C,0x41,0xD0,0x07,0x00, /* 00000838 "HID.A..." */ + 0x14,0x09,0x5F,0x53,0x54,0x41,0x00,0xA4, /* 00000840 ".._STA.." */ + 0x0A,0x0F,0x08,0x5F,0x43,0x52,0x53,0x11, /* 00000848 "..._CRS." */ + 0x1B,0x0A,0x18,0x47,0x01,0xF0,0x03,0xF0, /* 00000850 "...G...." */ + 0x03,0x01,0x06,0x47,0x01,0xF7,0x03,0xF7, /* 00000858 "...G...." */ + 0x03,0x01,0x01,0x22,0x40,0x00,0x2A,0x04, /* 00000860 "..."@.*." */ + 0x00,0x79,0x00,0x5B,0x82,0x35,0x55,0x41, /* 00000868 ".y.[.5UA" */ + 0x52,0x31,0x08,0x5F,0x48,0x49,0x44,0x0C, /* 00000870 "R1._HID." */ + 0x41,0xD0,0x05,0x01,0x08,0x5F,0x55,0x49, /* 00000878 "A...._UI" */ + 0x44,0x01,0x14,0x09,0x5F,0x53,0x54,0x41, /* 00000880 "D..._STA" */ + 0x00,0xA4,0x0A,0x0F,0x08,0x5F,0x43,0x52, /* 00000888 "....._CR" */ + 0x53,0x11,0x10,0x0A,0x0D,0x47,0x01,0xF8, /* 00000890 "S....G.." */ + 0x03,0xF8,0x03,0x01,0x08,0x22,0x10,0x00, /* 00000898 ".....".." */ + 0x79,0x00,0x5B,0x82,0x36,0x4C,0x54,0x50, /* 000008A0 "y.[.6LTP" */ + 0x31,0x08,0x5F,0x48,0x49,0x44,0x0C,0x41, /* 000008A8 "1._HID.A" */ + 0xD0,0x04,0x00,0x08,0x5F,0x55,0x49,0x44, /* 000008B0 "...._UID" */ + 0x0A,0x02,0x14,0x09,0x5F,0x53,0x54,0x41, /* 000008B8 "...._STA" */ + 0x00,0xA4,0x0A,0x0F,0x08,0x5F,0x43,0x52, /* 000008C0 "....._CR" */ + 0x53,0x11,0x10,0x0A,0x0D,0x47,0x01,0x78, /* 000008C8 "S....G.x" */ + 0x03,0x78,0x03,0x08,0x08,0x22,0x80,0x00, /* 000008D0 ".x...".." */ 0x79,0x00, }; int DsdtLen=sizeof(AmlCode); diff -r 64b3e8596dc9 -r af034bee5892 tools/firmware/hvmloader/smbios.c --- a/tools/firmware/hvmloader/smbios.c Tue Oct 10 21:05:50 2006 +0100 +++ b/tools/firmware/hvmloader/smbios.c Thu Oct 12 19:08:35 2006 +0100 @@ -92,7 +92,6 @@ write_smbios_tables(void *start, unsigned cpu_num, nr_structs = 0, max_struct_size = 0; char *p, *q; char cpu_manufacturer[15]; - size_t structure_table_length; get_cpu_manufacturer(cpu_manufacturer, 15); diff -r 64b3e8596dc9 -r af034bee5892 tools/xenstore/xenstore_client.c --- a/tools/xenstore/xenstore_client.c Tue Oct 10 21:05:50 2006 +0100 +++ b/tools/xenstore/xenstore_client.c Thu Oct 12 19:08:35 2006 +0100 @@ -267,12 +267,13 @@ main(int argc, char **argv) main(int argc, char **argv) { struct xs_handle *xsh; - xs_transaction_t xth; + xs_transaction_t xth = XBT_NULL; int ret = 0, socket = 0; int prefix = 0; int tidy = 0; int upto = 0; int recurse = 0; + int transaction; while (1) { int c, index = 0; @@ -339,18 +340,28 @@ main(int argc, char **argv) } #endif +#if defined(CLIENT_read) + transaction = (argc - optind) > 1; +#elif defined(CLIENT_write) + transaction = (argc - optind) > 2; +#else + transaction = 1; +#endif + xsh = socket ? xs_daemon_open() : xs_domain_open(); if (xsh == NULL) err(1, socket ? "xs_daemon_open" : "xs_domain_open"); again: - xth = xs_transaction_start(xsh); - if (xth == XBT_NULL) - errx(1, "couldn't start transaction"); + if (transaction) { + xth = xs_transaction_start(xsh); + if (xth == XBT_NULL) + errx(1, "couldn't start transaction"); + } ret = perform(optind, argc, argv, xsh, xth, prefix, tidy, upto, recurse); - if (!xs_transaction_end(xsh, xth, ret)) { + if (transaction && !xs_transaction_end(xsh, xth, ret)) { if (ret == 0 && errno == EAGAIN) { output_pos = 0; goto again; diff -r 64b3e8596dc9 -r af034bee5892 tools/xenstore/xenstored_transaction.c --- a/tools/xenstore/xenstored_transaction.c Tue Oct 10 21:05:50 2006 +0100 +++ b/tools/xenstore/xenstored_transaction.c Thu Oct 12 19:08:35 2006 +0100 @@ -133,7 +133,7 @@ void do_transaction_start(struct connect return; } - if (conn->transaction_started > quota_max_transaction) { + if (conn->id && conn->transaction_started > quota_max_transaction) { send_error(conn, ENOSPC); return; } diff -r 64b3e8596dc9 -r af034bee5892 xen/arch/x86/domain_build.c --- a/xen/arch/x86/domain_build.c Tue Oct 10 21:05:50 2006 +0100 +++ b/xen/arch/x86/domain_build.c Thu Oct 12 19:08:35 2006 +0100 @@ -401,11 +401,11 @@ int construct_dom0(struct domain *d, _p(dsi.v_start), _p(v_end)); printk(" ENTRY ADDRESS: %p\n", _p(dsi.v_kernentry)); - if ( (v_end - dsi.v_start) > (nr_pages * PAGE_SIZE) ) + if ( ((v_end - dsi.v_start)>>PAGE_SHIFT) > nr_pages ) { printk("Initial guest OS requires too much space\n" "(%luMB is greater than %luMB limit)\n", - (v_end-dsi.v_start)>>20, (nr_pages<<PAGE_SHIFT)>>20); + (v_end-dsi.v_start)>>20, nr_pages>>(20-PAGE_SHIFT)); return -ENOMEM; } diff -r 64b3e8596dc9 -r af034bee5892 xen/arch/x86/hvm/hvm.c --- a/xen/arch/x86/hvm/hvm.c Tue Oct 10 21:05:50 2006 +0100 +++ b/xen/arch/x86/hvm/hvm.c Thu Oct 12 19:08:35 2006 +0100 @@ -653,15 +653,15 @@ int hvm_bringup_ap(int vcpuid, int tramp if ( rc != 0 ) { DPRINTK("AP %d bringup failed in boot_vcpu %x.\n", vcpuid, rc); - return rc; + goto out; } if ( test_and_clear_bit(_VCPUF_down, &d->vcpu[vcpuid]->vcpu_flags) ) vcpu_wake(d->vcpu[vcpuid]); DPRINTK("AP %d bringup suceeded.\n", vcpuid); + out: xfree(ctxt); - return rc; } diff -r 64b3e8596dc9 -r af034bee5892 xen/arch/x86/hvm/svm/svm.c --- a/xen/arch/x86/hvm/svm/svm.c Tue Oct 10 21:05:50 2006 +0100 +++ b/xen/arch/x86/hvm/svm/svm.c Thu Oct 12 19:08:35 2006 +0100 @@ -840,7 +840,15 @@ int start_svm(void) if (!(test_bit(X86_FEATURE_SVME, &boot_cpu_data.x86_capability))) return 0; - + + /* check whether SVM feature is disabled in BIOS */ + rdmsr(MSR_K8_VM_CR, eax, edx); + if ( eax & K8_VMCR_SVME_DISABLE ) + { + printk("AMD SVM Extension is disabled in BIOS.\n"); + return 0; + } + if (!(hsa[cpu] = alloc_host_save_area())) return 0; diff -r 64b3e8596dc9 -r af034bee5892 xen/arch/x86/mm/shadow/multi.c --- a/xen/arch/x86/mm/shadow/multi.c Tue Oct 10 21:05:50 2006 +0100 +++ b/xen/arch/x86/mm/shadow/multi.c Thu Oct 12 19:08:35 2006 +0100 @@ -1375,80 +1375,6 @@ static int shadow_set_l1e(struct vcpu *v /**************************************************************************/ -/* These functions take a vcpu and a virtual address, and return a pointer - * to the appropriate level N entry from the shadow tables. - * If the necessary tables are not present in the shadow, they return NULL. */ - -/* N.B. The use of GUEST_PAGING_LEVELS here is correct. If the shadow has - * more levels than the guest, the upper levels are always fixed and do not - * reflect any information from the guest, so we do not use these functions - * to access them. */ - -#if GUEST_PAGING_LEVELS >= 4 -static shadow_l4e_t * -shadow_get_l4e(struct vcpu *v, unsigned long va) -{ - /* Reading the top level table is always valid. */ - return sh_linear_l4_table(v) + shadow_l4_linear_offset(va); -} -#endif /* GUEST_PAGING_LEVELS >= 4 */ - - -#if GUEST_PAGING_LEVELS >= 3 -static shadow_l3e_t * -shadow_get_l3e(struct vcpu *v, unsigned long va) -{ -#if GUEST_PAGING_LEVELS >= 4 /* 64bit... */ - /* Get the l4 */ - shadow_l4e_t *sl4e = shadow_get_l4e(v, va); - ASSERT(sl4e != NULL); - if ( !(shadow_l4e_get_flags(*sl4e) & _PAGE_PRESENT) ) - return NULL; - ASSERT(valid_mfn(shadow_l4e_get_mfn(*sl4e))); - /* l4 was present; OK to get the l3 */ - return sh_linear_l3_table(v) + shadow_l3_linear_offset(va); -#else /* PAE... */ - /* Top level is always mapped */ - ASSERT(v->arch.shadow_vtable); - return ((shadow_l3e_t *)v->arch.shadow_vtable) + shadow_l3_linear_offset(va); -#endif -} -#endif /* GUEST_PAGING_LEVELS >= 3 */ - - -static shadow_l2e_t * -shadow_get_l2e(struct vcpu *v, unsigned long va) -{ -#if GUEST_PAGING_LEVELS >= 3 /* 64bit/PAE... */ - /* Get the l3 */ - shadow_l3e_t *sl3e = shadow_get_l3e(v, va); - if ( sl3e == NULL || !(shadow_l3e_get_flags(*sl3e) & _PAGE_PRESENT) ) - return NULL; - ASSERT(valid_mfn(shadow_l3e_get_mfn(*sl3e))); - /* l3 was present; OK to get the l2 */ -#endif - return sh_linear_l2_table(v) + shadow_l2_linear_offset(va); -} - - -#if 0 // avoid the compiler warning for now... - -static shadow_l1e_t * -shadow_get_l1e(struct vcpu *v, unsigned long va) -{ - /* Get the l2 */ - shadow_l2e_t *sl2e = shadow_get_l2e(v, va); - if ( sl2e == NULL || !(shadow_l2e_get_flags(*sl2e) & _PAGE_PRESENT) ) - return NULL; - ASSERT(valid_mfn(shadow_l2e_get_mfn(*sl2e))); - /* l2 was present; OK to get the l1 */ - return sh_linear_l1_table(v) + shadow_l1_linear_offset(va); -} - -#endif - - -/**************************************************************************/ /* Macros to walk pagetables. These take the shadow of a pagetable and * walk every "interesting" entry. That is, they don't touch Xen mappings, * and for 32-bit l2s shadowed onto PAE or 64-bit, they only touch every @@ -2050,6 +1976,12 @@ sh_make_monitor_table(struct vcpu *v) * they are needed. The "demand" argument is non-zero when handling * a demand fault (so we know what to do about accessed bits &c). * If the necessary tables are not present in the guest, they return NULL. */ + +/* N.B. The use of GUEST_PAGING_LEVELS here is correct. If the shadow has + * more levels than the guest, the upper levels are always fixed and do not + * reflect any information from the guest, so we do not use these functions + * to access them. */ + #if GUEST_PAGING_LEVELS >= 4 static shadow_l4e_t * shadow_get_and_create_l4e(struct vcpu *v, walk_t *gw, @@ -3223,26 +3155,62 @@ sh_invlpg(struct vcpu *v, unsigned long * instruction should be issued on the hardware, or 0 if it's safe not * to do so. */ { - shadow_l2e_t *ptr_sl2e = shadow_get_l2e(v, va); - - // XXX -- might be a good thing to prefetch the va into the shadow - - // no need to flush anything if there's no SL2... - // - if ( !ptr_sl2e ) + shadow_l2e_t sl2e; + + perfc_incrc(shadow_invlpg); + + /* First check that we can safely read the shadow l2e. SMP/PAE linux can + * run as high as 6% of invlpg calls where we haven't shadowed the l2 + * yet. */ +#if SHADOW_PAGING_LEVELS == 4 + { + shadow_l3e_t sl3e; + if ( !(shadow_l4e_get_flags( + sh_linear_l4_table(v)[shadow_l4_linear_offset(va)]) + & _PAGE_PRESENT) ) + return 0; + /* This must still be a copy-from-user because we don't have the + * shadow lock, and the higher-level shadows might disappear + * under our feet. */ + if ( __copy_from_user(&sl3e, (sh_linear_l3_table(v) + + shadow_l3_linear_offset(va)), + sizeof (sl3e)) != 0 ) + { + perfc_incrc(shadow_invlpg_fault); + return 0; + } + if ( (!shadow_l3e_get_flags(sl3e) & _PAGE_PRESENT) ) + return 0; + } +#elif SHADOW_PAGING_LEVELS == 3 + if ( !(shadow_l3e_get_flags( + ((shadow_l3e_t *)v->arch.shadow_vtable)[shadow_l3_linear_offset(va)]) + & _PAGE_PRESENT) ) + // no need to flush anything if there's no SL2... return 0; +#endif + + /* This must still be a copy-from-user because we don't have the shadow + * lock, and the higher-level shadows might disappear under our feet. */ + if ( __copy_from_user(&sl2e, + sh_linear_l2_table(v) + shadow_l2_linear_offset(va), + sizeof (sl2e)) != 0 ) + { + perfc_incrc(shadow_invlpg_fault); + return 0; + } // If there's nothing shadowed for this particular sl2e, then // there is no need to do an invlpg, either... // - if ( !(shadow_l2e_get_flags(*ptr_sl2e) & _PAGE_PRESENT) ) + if ( !(shadow_l2e_get_flags(sl2e) & _PAGE_PRESENT) ) return 0; // Check to see if the SL2 is a splintered superpage... // If so, then we'll need to flush the entire TLB (because that's // easier than invalidating all of the individual 4K pages). // - if ( (mfn_to_page(shadow_l2e_get_mfn(*ptr_sl2e))->count_info & + if ( (mfn_to_page(shadow_l2e_get_mfn(sl2e))->count_info & PGC_SH_type_mask) == PGC_SH_fl1_shadow ) { local_flush_tlb(); diff -r 64b3e8596dc9 -r af034bee5892 xen/include/asm-x86/msr.h --- a/xen/include/asm-x86/msr.h Tue Oct 10 21:05:50 2006 +0100 +++ b/xen/include/asm-x86/msr.h Thu Oct 12 19:08:35 2006 +0100 @@ -302,8 +302,14 @@ static inline void wrmsrl(unsigned int m #define MSR_K8_TOP_MEM1 0xC001001A #define MSR_K8_TOP_MEM2 0xC001001D +#define MSR_K8_SYSCFG 0xC0010010 +#define MSR_K8_HWCR 0xC0010015 +#define MSR_K8_VM_CR 0xC0010114 #define MSR_K8_VM_HSAVE_PA 0xC0010117 -#define MSR_K8_SYSCFG 0xC0000010 + +/* MSR_K8_VM_CR bits: */ +#define _K8_VMCR_SVME_DISABLE 4 +#define K8_VMCR_SVME_DISABLE (1 << _K8_VMCR_SVME_DISABLE) /* Centaur-Hauls/IDT defined MSRs. */ #define MSR_IDT_FCR1 0x107 diff -r 64b3e8596dc9 -r af034bee5892 xen/include/asm-x86/perfc_defn.h --- a/xen/include/asm-x86/perfc_defn.h Tue Oct 10 21:05:50 2006 +0100 +++ b/xen/include/asm-x86/perfc_defn.h Thu Oct 12 19:08:35 2006 +0100 @@ -81,8 +81,8 @@ PERFCOUNTER_CPU(shadow_unshadow_bf, " PERFCOUNTER_CPU(shadow_unshadow_bf, "shadow unshadow brute-force") PERFCOUNTER_CPU(shadow_get_page_fail, "shadow_get_page_from_l1e failed") PERFCOUNTER_CPU(shadow_guest_walk, "shadow walks guest tables") -PERFCOUNTER_CPU(shadow_walk_cache_hit, "shadow walk-cache hits") -PERFCOUNTER_CPU(shadow_walk_cache_miss, "shadow walk-cache misses") +PERFCOUNTER_CPU(shadow_invlpg, "shadow emulates invlpg") +PERFCOUNTER_CPU(shadow_invlpg_fault, "shadow invlpg faults") /*#endif*/ /* __XEN_PERFC_DEFN_H__ */ _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |