Re: [kvm-devel] [PATCH] kvm_show_code for ROM code

2008-05-02 Thread Jan Kiszka
Avi Kivity wrote: Jan Kiszka wrote: Userland-located ROM memory is not available via kvm-physical_memory + guest_address. To let kvm_show_code also dump useful information when some problem in ROM (BIOS...) occurs, this patch first tries to obtain the memory content via the mmio_read callback

Re: [kvm-devel] State of debug register emulation

2008-05-02 Thread Jan Kiszka
Avi Kivity wrote: Jan Kiszka wrote: This still leaves me with the question how to handle the case when the host sets and arms some debug registers to debug the guest and the latter does the same to debug itself. Guest access will be trapped, OK, but KVM will then have to decide which value

Re: [kvm-devel] [PATCH] libkvm: fix physical_memory calculation

2008-05-02 Thread Avi Kivity
Jan Kiszka wrote: This looks bogus, but it is so far without practical impact (phys_start is always 0 when we do the calculation). Signed-off-by: Jan Kiszka [EMAIL PROTECTED] --- libkvm/libkvm.c |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) Index: b/libkvm/libkvm.c

Re: [kvm-devel] State of debug register emulation

2008-05-02 Thread Avi Kivity
Jan Kiszka wrote: Avi Kivity wrote: Jan Kiszka wrote: This still leaves me with the question how to handle the case when the host sets and arms some debug registers to debug the guest and the latter does the same to debug itself. Guest access will be trapped, OK, but KVM will then

Re: [kvm-devel] [PATCH] kvm_show_code for ROM code

2008-05-02 Thread Avi Kivity
Jan Kiszka wrote: Userland-located memory is not unconditionally available via kvm-physical_memory + guest_address. To let kvm_show_code also dump useful information when, e.g., some problem in ROM (BIOS...) occurs, this patch tries to obtain the memory content via the mmio_read callback. If

Re: [kvm-devel] [PATCH] [RESEND] Update kernel/Makefile and remove x86 only entries

2008-05-02 Thread Avi Kivity
Jerone Young wrote: This patch removes static x86 entries and makes things work for multiple archs. Applied, thanks, -- I have a truly marvellous patch that fixes the bug which this signature is too narrow to contain.

Re: [kvm-devel] fx_init schedule in atomic

2008-05-02 Thread Avi Kivity
Andrea Arcangeli wrote: This make sure not to schedule in atomic during fx_init. I also changed the name of fpu_init to fx_finit to avoid duplicating the name with fpu_init that is already used in the kernel, this makes grep simpler if nothing else. Applied, thanks. Dynamic allocation

Re: [kvm-devel] [PATCH] Don't leak EPT identity page table

2008-05-02 Thread Avi Kivity
Anthony Liguori wrote: In vmx.c:alloc_identity_pagetable() we grab a reference to the EPT identity page table via gfn_to_page(). We never release this reference though. This patch releases the reference to this page on VM destruction. I haven't tested this with EPT. Applied, thanks.

Re: [kvm-devel] [PATCH]: Fake MSR_K7 performance counters

2008-05-02 Thread Avi Kivity
Chris Lalancette wrote: Chris Lalancette wrote: Attached is a patch that fixes a guest crash when booting older Linux kernels. The problem stems from the fact that we are currently emulating MSR_K7_EVNTSEL[0-3], but not emulating MSR_K7_PERFCTR[0-3]. Because of this,

Re: [kvm-devel] kvm-67: kernel panic while booting debian-40r3-i386-businesscard.iso

2008-05-02 Thread Avi Kivity
Jan Luebbe wrote: Hi! I'm preparing kvm-67 for debian. While testing i noticed a problem: When booting the debian installer from the official CD [1] this problem: Call Trace: [c0146d5b] kmem_cache_create+0x15e/0x410 Code: c3 57 56 53 89 c6 9c 5f fa 8b 08 83 39 00

Re: [kvm-devel] qemu/kvm seems to take ALSA all for itself?

2008-05-02 Thread Avi Kivity
David Abrahams wrote: Jon iroquoi at gmail.com writes: I use: export QEMU_AUDIO_DRV=alsa export QEMU_AUDIO_DAC_FIXED_FREQ=48000 export QEMU_AUDIO_ADC_FIXED_FREQ=48000 export QEMU_ALSA_DAC_BUFFER_SIZE=16384 Buffer size is very important, else it crackles and pops for me.

Re: [kvm-devel] Wiki: Add SMP Count to Guest Support Status

2008-05-02 Thread Avi Kivity
Fabian Deutsch wrote: Avi Kivity wrote: Fabian Deutsch wrote: Hey. I've been trying Microsoft Windows 2003 a couple of times. The wiki tells me that everything should work okay. It does, when using -smp 1, but gets ugly when using -smp 2 or so. SO might it be useful, to add the

Re: [kvm-devel] Feedback and errors

2008-05-02 Thread Avi Kivity
nadim khemir wrote: Hi, great work. While playing with kvm-qemu I noticed a few points that might be of interrest: 1/ -loadvm and -snapshot don't work together. It works as if -loadvm wasn't passed as argument 2/ two instances of kvm can be passed the same -hda. There is no locking

Re: [kvm-devel] [PATCH 2/2] KVM: Handle interrupts for PCI passthrough devices

2008-05-02 Thread Avi Kivity
Amit Shah wrote: +static irqreturn_t +kvm_pci_pt_dev_intr(int irq, void *dev_id) +{ + struct kvm_pci_pt_dev_list *match; + struct kvm *kvm = (struct kvm *) dev_id; + + if (!test_bit(irq, pt_irq_handled)) + return IRQ_NONE; + + if (test_bit(irq,

[kvm-devel] Rock her world every night

2008-05-02 Thread Hiram
Just 2 pills per day for an increased growth before your very eyes http://www.probenwau.com/ - This SF.net email is sponsored by the 2008 JavaOne(SM) Conference Don't miss this year's exciting event. There's still time to

Re: [kvm-devel] [PATCH] kvm: qemu: Allow booting from extboot drive with -kernel

2008-05-02 Thread Avi Kivity
Mark McLoughlin wrote: The -kernel option generates a new boot sector for the boot drive which jumps directly to the supplied kernel rather than running the standard bootloader. Trivially fix generate_bootsect() to handle the case where we're booting using extboot. Applied, thanks. --

Re: [kvm-devel] [PATCH] x86: handle double and triple faults for every exception

2008-05-02 Thread Avi Kivity
Joerg Roedel wrote: The current KVM x86 exception code handles double and triple faults only for page fault exceptions. This patch extends this detection for every exception that gets queued for the guest. Some double faults are handled serially rather than generating a #DF. For example

Re: [kvm-devel] libkvm: initialize no_pit_creation

2008-05-02 Thread Avi Kivity
Jan Kiszka wrote: Yeah, it is. Reminds me of another warning I recently came across (offsets may vary due to other patches: ==5801== 1 errors in context 1 of 2: ==5801== Conditional jump or move depends on uninitialised value(s) ==5801==at 0x53F4AE: kvm_register_userspace_phys_mem

Re: [kvm-devel] [PATCH 2/2] KVM: Handle interrupts for PCI passthrough devices

2008-05-02 Thread Amit Shah
On Friday 02 May 2008 16:05:17 Avi Kivity wrote: Amit Shah wrote: +static irqreturn_t +kvm_pci_pt_dev_intr(int irq, void *dev_id) +{ + struct kvm_pci_pt_dev_list *match; + struct kvm *kvm = (struct kvm *) dev_id; + + if (!test_bit(irq, pt_irq_handled)) + return IRQ_NONE;

Re: [kvm-devel] [PATCH 2/2] KVM: Handle interrupts for PCI passthrough devices

2008-05-02 Thread Avi Kivity
Amit Shah wrote: Seems to me the only choice here is to mask the interrupt at the ioapic level, wait until the guest acks the interrupt, then unmask the interrupt. OK; will that create problems if the line is shared? It will not work with shared interrupts (unless all users of the

Re: [kvm-devel] Feedback and errors

2008-05-02 Thread Anthony Liguori
Avi Kivity wrote: nadim khemir wrote: Hi, great work. While playing with kvm-qemu I noticed a few points that might be of interrest: 1/ -loadvm and -snapshot don't work together. It works as if -loadvm wasn't passed as argument 2/ two instances of kvm can be passed the same -hda.

Re: [kvm-devel] Feedback and errors

2008-05-02 Thread Daniel P. Berrange
On Fri, May 02, 2008 at 01:52:18PM +0300, Avi Kivity wrote: nadim khemir wrote: Hi, great work. While playing with kvm-qemu I noticed a few points that might be of interrest: 1/ -loadvm and -snapshot don't work together. It works as if -loadvm wasn't passed as argument 2/ two

[kvm-devel] [PATCH] [ACPI] Enable direct GSI mapping for APIC

2008-05-02 Thread Alexander Graf
Hi, in the DSDT there are two different ways of defining, how an interrupt is supposed to be routed. Currently we are using the LNKA - LNKD method, which afaict is for legacy support. The other method is to directly tell the Operating System, which APIC pin the device is attached to. We can

Re: [kvm-devel] Feedback and errors

2008-05-02 Thread Avi Kivity
Anthony Liguori wrote: 2/ two instances of kvm can be passed the same -hda. There is no locking whatsoever. This messes up things seriously. These two are upstream qemu problems. Copying qemu-devel. I guess using file locking by default would improve the situation, and we can

[kvm-devel] [PATCH] KVM: PIT: support mode 3

2008-05-02 Thread Aurelien Jarno
The in-kernel PIT emulation ignores pending timers if operating under mode 3, which for example Hurd uses. This mode should output a square wave, high for (N+1)/2 counts and low for (N-1)/2 counts. As we only care about the resulting interrupts, the period is N, and mode 3 is the same as mode 2

Re: [kvm-devel] Feedback and errors

2008-05-02 Thread Avi Kivity
Daniel P. Berrange wrote: I guess using file locking by default would improve the situation, and we can add a -drive ...,exclusive=no option for people playing with cluster filesystems. Turning on file locking by default will break existing apps / deployments using shared disks. IMHO

[kvm-devel] [PATCH 00 of 11] mmu notifier #v15

2008-05-02 Thread Andrea Arcangeli
Hello everyone, 1/11 is the latest version of the mmu-notifier-core patch. As usual all later 2-11/11 patches follows but those aren't meant for 2.6.26. Thanks! Andrea - This SF.net email is sponsored by the 2008

[kvm-devel] [PATCH 02 of 11] get_task_mm

2008-05-02 Thread Andrea Arcangeli
# HG changeset patch # User Andrea Arcangeli [EMAIL PROTECTED] # Date 1209740185 -7200 # Node ID c85c85c4be165eb6de16136bb97cf1fa7fd5c88f # Parent 1489529e7b53d3f2dab8431372aa4850ec821caa get_task_mm get_task_mm should not succeed if mmput() is running and has reduced the mm_users count to zero.

[kvm-devel] [PATCH 01 of 11] mmu-notifier-core

2008-05-02 Thread Andrea Arcangeli
# HG changeset patch # User Andrea Arcangeli [EMAIL PROTECTED] # Date 1209740175 -7200 # Node ID 1489529e7b53d3f2dab8431372aa4850ec821caa # Parent 5026689a3bc323a26d33ad882c34c4c9c9a3ecd8 mmu-notifier-core With KVM/GFP/XPMEM there isn't just the primary CPU MMU pointing to pages. There are

[kvm-devel] [PATCH 05 of 11] unmap vmas tlb flushing

2008-05-02 Thread Andrea Arcangeli
# HG changeset patch # User Andrea Arcangeli [EMAIL PROTECTED] # Date 1209740186 -7200 # Node ID a8ac53b928dfcea0ccb326fb7d71f908f0df85f4 # Parent 14e9f5a12bb1657fa6756e18d5dac71d4ad1a55e unmap vmas tlb flushing Move the tlb flushing inside of unmap vmas. This saves us from passing a pointer to

[kvm-devel] [PATCH 04 of 11] free-pgtables

2008-05-02 Thread Andrea Arcangeli
# HG changeset patch # User Andrea Arcangeli [EMAIL PROTECTED] # Date 1209740185 -7200 # Node ID 14e9f5a12bb1657fa6756e18d5dac71d4ad1a55e # Parent ea8fc9187b6d3ef2742061b4f62598afe55281cf free-pgtables Move the tlb flushing into free_pgtables. The conversion of the locks taken for reverse map

[kvm-devel] [PATCH 06 of 11] rwsem contended

2008-05-02 Thread Andrea Arcangeli
# HG changeset patch # User Andrea Arcangeli [EMAIL PROTECTED] # Date 1209740186 -7200 # Node ID 74b873f3ea07012e2fc864f203edf1179865feb1 # Parent a8ac53b928dfcea0ccb326fb7d71f908f0df85f4 rwsem contended Add a function to rw_semaphores to check if there are any processes waiting for the

[kvm-devel] [PATCH 07 of 11] i_mmap_rwsem

2008-05-02 Thread Andrea Arcangeli
# HG changeset patch # User Andrea Arcangeli [EMAIL PROTECTED] # Date 1209740186 -7200 # Node ID de28c85baef11b90c993047ca851a2f52c85a5be # Parent 74b873f3ea07012e2fc864f203edf1179865feb1 i_mmap_rwsem The conversion to a rwsem allows notifier callbacks during rmap traversal for files. A rw style

[kvm-devel] [PATCH 08 of 11] anon-vma-rwsem

2008-05-02 Thread Andrea Arcangeli
# HG changeset patch # User Andrea Arcangeli [EMAIL PROTECTED] # Date 1209740186 -7200 # Node ID 0be678c52e540d5f5d5fd9af549b57b9bb018d32 # Parent de28c85baef11b90c993047ca851a2f52c85a5be anon-vma-rwsem Convert the anon_vma spinlock to a rw semaphore. This allows concurrent traversal of reverse

[kvm-devel] [PATCH 09 of 11] mm_lock-rwsem

2008-05-02 Thread Andrea Arcangeli
# HG changeset patch # User Andrea Arcangeli [EMAIL PROTECTED] # Date 1209740226 -7200 # Node ID 721c3787cd42043734331e54a42eb20c51766f71 # Parent 0be678c52e540d5f5d5fd9af549b57b9bb018d32 mm_lock-rwsem Convert mm_lock to use semaphores after i_mmap_lock and anon_vma_lock conversion.

[kvm-devel] [PATCH 10 of 11] export zap_page_range for XPMEM

2008-05-02 Thread Andrea Arcangeli
# HG changeset patch # User Andrea Arcangeli [EMAIL PROTECTED] # Date 1209740229 -7200 # Node ID 4f462fb3dff614cd7d971219c3feaef0b43359c1 # Parent 721c3787cd42043734331e54a42eb20c51766f71 export zap_page_range for XPMEM XPMEM would have used sys_madvise() except that madvise_dontneed() returns

[kvm-devel] [PATCH 11 of 11] mmap sems

2008-05-02 Thread Andrea Arcangeli
# HG changeset patch # User Andrea Arcangeli [EMAIL PROTECTED] # Date 1209740229 -7200 # Node ID b4bf6df98bc00bfbef9423b0dd31cfdba63a5eeb # Parent 4f462fb3dff614cd7d971219c3feaef0b43359c1 mmap sems This patch adds a lock ordering rule to avoid a potential deadlock when multiple mmap_sems need to

Re: [kvm-devel] fx_init schedule in atomic

2008-05-02 Thread Andrea Arcangeli
On Fri, May 02, 2008 at 12:28:32PM +0300, Avi Kivity wrote: Applied, thanks. Dynamic allocation for the fpu state was introduced in 2.6.26-rc, right? It seems very recent, hit mainline on 30 Apr. Also we may want to think if there's something cheaper than fx_save to trigger a math exception

Re: [kvm-devel] Feedback and errors

2008-05-02 Thread Anthony Liguori
Avi Kivity wrote: Well, one user (me) has made this mistake, several times. I guess it's usage patterns. I'm pretty religious about using -snapshot unless I have a very specific reason not to. I have never encountered this problem myself. FWIW, the whole override thing for Xen has been an

Re: [kvm-devel] [PATCH] [ACPI] Enable direct GSI mapping for APIC

2008-05-02 Thread Marcelo Tosatti
On Fri, May 02, 2008 at 04:55:24PM +0200, Alexander Graf wrote: Hi, in the DSDT there are two different ways of defining, how an interrupt is supposed to be routed. Currently we are using the LNKA - LNKD method, which afaict is for legacy support. The other method is to directly tell the

Re: [kvm-devel] [Qemu-devel] Re: Feedback and errors

2008-05-02 Thread Jamie Lokier
Daniel P. Berrange wrote: 2/ two instances of kvm can be passed the same -hda. There is no locking whatsoever. This messes up things seriously. That depends entirely on what you are doing with the disk in the guest OS. The disk could be hosting a cluster filesystem. The guest OS could

Re: [kvm-devel] qemu/kvm seems to take ALSA all for itself?

2008-05-02 Thread David Abrahams
Avi Kivity wrote: David Abrahams wrote: Jon iroquoi at gmail.com writes: I use: export QEMU_AUDIO_DRV=alsa export QEMU_AUDIO_DAC_FIXED_FREQ=48000 export QEMU_AUDIO_ADC_FIXED_FREQ=48000 export QEMU_ALSA_DAC_BUFFER_SIZE=16384 Buffer size is very important, else it crackles and pops for

[kvm-devel] [patch 1/3] QEMU/KVM: add 3 PCI bridges to ACPI table

2008-05-02 Thread Marcelo Tosatti
Add 3 PCI bridges to the ACPI table: - Move IRQ routing, slot device and GPE processing to separate files which can be included from acpi-dsdt.dsl. - Add _SUN methods to every slot device so as to avoid collisions in OS handling. - Fix copypaste typo in slot devices 8/9 and 24/25. This table

[kvm-devel] [patch 2/3] QEMU/KVM: ACPI PCI hotplug multiple bus support

2008-05-02 Thread Marcelo Tosatti
Support more than one bus in the ACPI PCI hotplug code. Currently 4 buses are supported, but can be easily extended. Signed-off-by: Marcelo Tosatti [EMAIL PROTECTED] Index: kvm-userspace.pci3/qemu/hw/acpi.c === ---

[kvm-devel] [patch 0/3] QEMU/KVM: add support for 128 PCI slots (v2)

2008-05-02 Thread Marcelo Tosatti
Add three PCI bridges to support 128 slots. Changes since v1: - Remove I/O address range support (so standard PCI I/O space is used). - Verify that there's no special quirks for 82801 PCI bridge. - Introduce separate flat IRQ mapping function for non-SPARC targets. --

[kvm-devel] [patch 3/3] QEMU/KVM: add 3 PCI bridges

2008-05-02 Thread Marcelo Tosatti
Initialize and configure 3 PCI bridges (Intel 82801 PCI Bridge rev d9), which have no special handling (quirks) in current Linux versions. IO base/limit registers are initialized with zero and read-only, indicating that the bridge does not support IO address ranges. To avoid potentially breaking

[kvm-devel] [PATCH 0/4] Presenting accelerators for better abstraction

2008-05-02 Thread Glauber Costa
Hey guys, This was already discussed, mostly on kvm-devel (but qemu list always copied, if you remember), and here is the pre work I've done. I don't feel it to be mergeable yet, but with your comments, I expect to get it in a good shape soon. This is not extensibly tested (but it will).

[kvm-devel] [PATCH 4/4] [PATCH] wrap cache flushing functions into accel drivers

2008-05-02 Thread Glauber Costa
--- exec-all.h | 16 ++-- exec.c | 12 ++-- kqemu.c|2 ++ 3 files changed, 18 insertions(+), 12 deletions(-) diff --git a/exec-all.h b/exec-all.h index 784d0ac..9925a80 100644 --- a/exec-all.h +++ b/exec-all.h @@ -578,6 +578,8 @@ typedef struct QEMUAccel {

[kvm-devel] [PATCH 2/4] [PATCH] exec interrupt made abstract by accel_yyy()

2008-05-02 Thread Glauber Costa
--- cpu-exec.c | 29 ++--- exec-all.h | 10 ++ kqemu.c|3 +++ 3 files changed, 31 insertions(+), 11 deletions(-) diff --git a/cpu-exec.c b/cpu-exec.c index 3246264..79da619 100644 --- a/cpu-exec.c +++ b/cpu-exec.c @@ -35,6 +35,22 @@ #include

[kvm-devel] [PATCH 3/4] [PATCH] init env made accel driver

2008-05-02 Thread Glauber Costa
--- exec-all.h|8 +++- kqemu.c |1 + target-i386/helper2.c |4 +--- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/exec-all.h b/exec-all.h index 621e1ca..784d0ac 100644 --- a/exec-all.h +++ b/exec-all.h @@ -577,6 +577,7 @@ static inline

[kvm-devel] [PATCH 1/4] [PATCH] introduce QEMUAccel and fill it with interrupt specific driver

2008-05-02 Thread Glauber Costa
This patch introduces QEMUAccel, a placeholder for function pointers that aims at helping qemu to abstract accelerators such as kqemu and kvm (actually, the 'accelerator' name was proposed by avi kivity, since he loves referring to kvm that way). To begin with, the accelerator is given the

Re: [kvm-devel] [Qemu-devel] [PATCH 1/4] [PATCH] introduce QEMUAccel and fill it with interrupt specific driver

2008-05-02 Thread Jamie Lokier
Glauber Costa wrote: This patch introduces QEMUAccel, a placeholder for function pointers that aims at helping qemu to abstract accelerators such as kqemu and kvm (actually, the 'accelerator' name was proposed by avi kivity, since he loves referring to kvm that way). Just a little thought...

Re: [kvm-devel] problems running many guests

2008-05-02 Thread Karl Rister
On Thursday 01 May 2008 7:16:53 pm Marcelo Tosatti wrote: On Thu, May 01, 2008 at 06:00:44PM -0500, Karl Rister wrote: Hi I have been trying to do some testing of a large number of guests (72) on a big multi-node IBM box (8 sockets, 32 cores, 128GB) and I am having various issues with

[kvm-devel] [PATCH] Use pipe() to simulate signalfd() (v2)

2008-05-02 Thread Anthony Liguori
This patch reworks the IO thread to use signalfd() instead of sigtimedwait(). This will eliminate the need to use SIGIO everywhere. In this version of the patch, we use signalfd() when it's available. When it isn't available, we instead use a pipe() that is written to in each signal handler.

Re: [kvm-devel] [Qemu-devel] [PATCH 1/4] [PATCH] introduce QEMUAccel and fill it with interrupt specific driver

2008-05-02 Thread Glauber Costa
Jamie Lokier wrote: Glauber Costa wrote: This patch introduces QEMUAccel, a placeholder for function pointers that aims at helping qemu to abstract accelerators such as kqemu and kvm (actually, the 'accelerator' name was proposed by avi kivity, since he loves referring to kvm that way).

Re: [kvm-devel] [Qemu-devel] [PATCH 1/4] [PATCH] introduce QEMUAccel and fill it with interrupt specific driver

2008-05-02 Thread Glauber Costa
Paul Brook wrote: Maybe 'VCPU' would be a clearer name? QEMU provides its own VCPU, and KQEMU+QEMU also provide one toegether. While KVM provides essentially one or more whole VCPUs by itself and uses QEMU's drivers only doesn't it? -- Jamie VCPU is rather confusing with the vcpus

[kvm-devel] KVM-66: FreeBSD guest takes all CPU when idle

2008-05-02 Thread Aurelien Jarno
Hi, Since commit a0d22c57fbf0c67d73ab7ca3416841030e0bc22f, FreeBSD guests takes all host CPU even when they are idle. Reverting this patch in kvm-67 or git tree fixes (or workarounds?) the problem. Using -no-kvm-pit also workarounds the problem. Some more details: Host: Linux 2.6.24 x86-64 CPU:

Re: [kvm-devel] KVM-66: FreeBSD guest takes all CPU when idle

2008-05-02 Thread Marcelo Tosatti
On Fri, May 02, 2008 at 10:39:25PM +0200, Aurelien Jarno wrote: Hi, Since commit a0d22c57fbf0c67d73ab7ca3416841030e0bc22f, FreeBSD guests takes all host CPU even when they are idle. Reverting this patch in kvm-67 or git tree fixes (or workarounds?) the problem. Using -no-kvm-pit also

Re: [kvm-devel] KVM-66: FreeBSD guest takes all CPU when idle

2008-05-02 Thread Aurelien Jarno
On Fri, May 02, 2008 at 07:23:22PM -0300, Marcelo Tosatti wrote: On Fri, May 02, 2008 at 10:39:25PM +0200, Aurelien Jarno wrote: Hi, Since commit a0d22c57fbf0c67d73ab7ca3416841030e0bc22f, FreeBSD guests takes all host CPU even when they are idle. Reverting this patch in kvm-67 or git

[kvm-devel] (no subject)

2008-05-02 Thread 林先生
尊敬的公司(领导/财务)负责人: 您好! 我司深圳市广航实业有限公司,是一家生产、销售、 贸易与一体的一般纳税人企业,享有税收优惠政策,长 期与国内各省市多家企业合作。凭着雄厚的经营(在报 税、做帐方面积累有丰富的经验)实力、良好信誉、平 等互利、诚信服务的宗旨。可为贵公司代开海关缴款书、 增值税发票点数为7%,商品销售、建筑安装、运输、 广告、其它服务等普通国税发票点数为2%(税率优惠)