You can subscribe to this list here.
2006 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(33) |
Nov
(325) |
Dec
(320) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2007 |
Jan
(484) |
Feb
(438) |
Mar
(407) |
Apr
(713) |
May
(831) |
Jun
(806) |
Jul
(1023) |
Aug
(1184) |
Sep
(1118) |
Oct
(1461) |
Nov
(1224) |
Dec
(1042) |
2008 |
Jan
(1449) |
Feb
(1110) |
Mar
(1428) |
Apr
(1643) |
May
(682) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Avi K. <av...@qu...> - 2008-04-11 12:53:45
|
Joerg Roedel wrote: >> Applied, thanks. I didn't know task switch and npt were related under svm. >> > > The only reason why task switch is intercepted is the cr3 switch it > involves. But with NPT we don't intercept cr3 switches anymore so we can > disable task switch intercept too. > Ah! Of course. Thanks. -- Any sufficiently difficult bug is indistinguishable from a feature. |
From: Joerg R. <joe...@am...> - 2008-04-11 12:47:44
|
On Fri, Apr 11, 2008 at 03:36:57PM +0300, Avi Kivity wrote: > Joerg Roedel wrote: > >When KVM uses NPT there is no reason to intercept task switches. This patch > >removes the intercept for it in that case. > > > > Applied, thanks. I didn't know task switch and npt were related under svm. The only reason why task switch is intercepted is the cr3 switch it involves. But with NPT we don't intercept cr3 switches anymore so we can disable task switch intercept too. Joerg -- | AMD Saxony Limited Liability Company & Co. KG Operating | Wilschdorfer Landstr. 101, 01109 Dresden, Germany System | Register Court Dresden: HRA 4896 Research | General Partner authorized to represent: Center | AMD Saxony LLC (Wilmington, Delaware, US) | General Manager of AMD Saxony LLC: Dr. Hans-R. Deppe, Thomas McCoy |
From: Avi K. <av...@qu...> - 2008-04-11 12:41:35
|
Marcelo Tosatti wrote: > Make sure that all threads are paused in userspace before saving machine > state. > > Applied, thanks. -- Any sufficiently difficult bug is indistinguishable from a feature. |
From: Avi K. <av...@qu...> - 2008-04-11 12:37:50
|
Joerg Roedel wrote: > When KVM uses NPT there is no reason to intercept task switches. This patch > removes the intercept for it in that case. > Applied, thanks. I didn't know task switch and npt were related under svm. -- Any sufficiently difficult bug is indistinguishable from a feature. |
From: Miguel A. <ma...@No...> - 2008-04-11 12:20:10
|
Hello again, I want to thank you for the information given. Now I understand what you mean, I'm going to test virtio drivers with the last kernel possible. Thanks a lot. Regards, Miguel Haydn Solomon escribió: > See also > > http://www.linux-kvm.com/content/tip-how-setup-windows-guest-paravirtual-network-drivers > > On Thu, Apr 3, 2008 at 10:54 AM, Felix Leimbach > <fel...@gm... <mailto:fel...@gm...>> wrote: > > > Thanks for your answer Haydn, but > I did not understand the issue too. > > > Victor has explained my problem clearly, is kvm uncapable of > running > > > the bridge at 1GBit if it is not a e1000 network card? > > > Hey Miguel, > > what Haydn meant was to force qemu to *emulate* a e1000 NIC > instead of the default RTL8139. That emulation is done by qemu in > userspace and has absolutely nothing to do with your physical NIC > por the bridge. > Chosing a NIC is done with the "model=" parameter. > kvm -net nic,model=e1000 > > Even better performance-wise would be to use the new virtio > interface which paravirtualizes your physical NIC instead of > emulating one. > For that, use: > kvm -net nic,model=virtio > > Of course you'll need to install the corresponding drivers in your > guest. The e1000 should be supported in every guest and for the > virtio interface there are windows guest drivers (see the > kvm-announce mailing list for that) as well as linux guest drivers > included in kernel 2.6.25 upwards. > > By the way: This is good stuff f you're interested in hard disk > performance, too: http://kvm.qumranet.com/kvmwiki/Virtio > > Felix > > ------------------------------------------------------------------------- > Check out the new SourceForge.net Marketplace. > It's the best place to buy or sell services for > just about anything Open Source. > http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace > _______________________________________________ > kvm-devel mailing list > kvm...@li... > <mailto:kvm...@li...> > https://lists.sourceforge.net/lists/listinfo/kvm-devel > > |
From: Avi K. <av...@qu...> - 2008-04-11 12:19:08
|
Marcelo Tosatti wrote: > There is a window open between testing of pending IRQ's > and assignment of guest_mode in __vcpu_run. > > Injection of IRQ's can race with __vcpu_run as follows: > > CPU0 CPU1 > kvm_x86_ops->run() > vcpu->guest_mode = 0 SET_IRQ_LINE ioctl > .. > kvm_x86_ops->inject_pending_irq > kvm_cpu_has_interrupt() > > apic_test_and_set_irr() > kvm_vcpu_kick > if (vcpu->guest_mode) > send_ipi() > > vcpu->guest_mode = 1 > > So move guest_mode=1 assignment before ->inject_pending_irq, and make > sure that it won't reorder after it. > > @@ -3944,11 +3950,12 @@ static void vcpu_kick_intr(void *info) > void kvm_vcpu_kick(struct kvm_vcpu *vcpu) > { > int ipi_pcpu = vcpu->cpu; > + int cpu = smp_processor_id(); > > if (waitqueue_active(&vcpu->wq)) { > wake_up_interruptible(&vcpu->wq); > ++vcpu->stat.halt_wakeup; > } > - if (vcpu->guest_mode) > + if (vcpu->guest_mode && vcpu->cpu != cpu) > smp_call_function_single(ipi_pcpu, vcpu_kick_intr, vcpu, 0, 0); > } > > kvm_vcpu_kick() can be called from nonatomic contexts, so the vcpu->cpu == cpu check is dangerous (and will warn on preemptible kernels, no?) -- Any sufficiently difficult bug is indistinguishable from a feature. |
From: Miguel A. <ma...@No...> - 2008-04-11 12:18:00
|
Hello all, I'm interested in automate linux guests installation. First I haven't been able to guess if the gfxboot issues with Ubuntu have been solved (changelog searching has given zero results), so I thought about installing a debootstrap system in a file mounted in loopback mode. would be KVM able to boot a file like this? Second I might be having to do a bunch of installations in soon future and I'm not interested in doing it from CD, is there any way apart cloning the images and reconfiguring them after booting? Thank you very much in advanced, Regards Miguel |
From: Amit S. <ami...@qu...> - 2008-04-11 12:14:18
|
Hi Andrea, Did you have to recompile the bios? How did you do that (or did you ask Avi to generate it?) Do you have a binary of the bios that I can use to test reserved ram? Thanks, Amit |
From: Avi K. <av...@qu...> - 2008-04-11 12:13:31
|
Marcelo Tosatti wrote: > Timers that fire between guest hlt and vcpu_block's add_wait_queue() are > ignored, possibly resulting in hangs. > > Also make sure that atomic_inc and waitqueue_active tests happen in the > specified order, otherwise the following race is open: > > CPU0 CPU1 > if (waitqueue_active(wq)) > add_wait_queue() > if (!atomic_read(pit_timer->pending)) > schedule() > atomic_inc(pit_timer->pending) > > Which is not an issue for the APIC timer due to migration logic. > > Nasty. I hope we can get Dor's interrupt injection notification working, so we don't have to handle these bugs. > Index: kvm/virt/kvm/kvm_main.c > =================================================================== > --- kvm.orig/virt/kvm/kvm_main.c > +++ kvm/virt/kvm/kvm_main.c > @@ -752,6 +752,7 @@ void mark_page_dirty(struct kvm *kvm, gf > } > } > > +#ifdef CONFIG_X86 > /* > * The vCPU has executed a HLT instruction with in-kernel mode enabled. > */ > @@ -765,6 +766,7 @@ void kvm_vcpu_block(struct kvm_vcpu *vcp > This breaks ia64 (and shouldn't s390 use this too?) > * We will block until either an interrupt or a signal wakes us up > */ > while (!kvm_cpu_has_interrupt(vcpu) > + && !kvm_cpu_has_pending_timer(vcpu) > I guess the fix is to stub this out for the other archs. -- Any sufficiently difficult bug is indistinguishable from a feature. |
From: Avi K. <av...@qu...> - 2008-04-11 12:07:43
|
Gerd Hoffmann wrote: > Hi, > > Tried to use kvmclock with xenner and noticed that the kvmclock > (MSR_KVM_SYSTEM_TIME msr) is incompatible with xen. > > Patches are welcome, especially as kvmclock isn't merged yet, so there are no backward compatibility issues. -- Any sufficiently difficult bug is indistinguishable from a feature. |
From: Avi K. <av...@qu...> - 2008-04-11 12:05:56
|
Anthony Liguori wrote: > Joerg Roedel wrote: >> The compilation of kvm-userspace part fails if the in-kernel pit is not >> detected in <linux/kvm.h> with the following error message: >> >> pc.o: In function `pc_init1': >> /home/jroedel/src/kvm/kvm-userspace/qemu/hw/pc.c:987: undefined >> reference to `kvm_pit_init' >> collect2: ld returned 1 exit status >> >> This patch fixes this little issue. >> > > A better solution is to wrap qemu_kvm_put_in_kernel in an #ifdef > KVM_CAP_PIT so that if it isn't defined, it always returns 0. gcc > will then do the right thing. > I would like to move qemu from depending on linux/kvm.h directly. However, there is a lot of work needed to get that (including some pointless stuff like defining libkvm structures to take the place of kvm.h structures) so perhaps it is not a realistic goal. -- Any sufficiently difficult bug is indistinguishable from a feature. |
From: Кассир <je...@at...> - 2008-04-11 10:57:48
|
Вeдeниe кaссoвых oпepaций. Пpaвилa, нapушeния, кoнтpoль. Дата проведения: 15 aпpeля 2008, г. Мoсквa В пpoгpaммe: 1. oбщиe пpaвилa вeдeния кaссoвых oпepaций в pФ. Нopмaтивнaя бaзa. 2. opгaнизaция нaличных paсчeтoв нa пpeдпpиятии 3. oфopмлeниe кaссoвых дoкумeнтoв 4. Дeнeжнaя нaличнoсть в кaссe пpeдпpиятия 5. Дeнeжныe дoкумeнты 6. Лимит paсчeтoв нaличными 7. Вaлютнaя кaссa 8. Нaличнaя выpучкa 9. Пpимeнeниe ККМ 10. Пpимeнeниe блaнкoв стpoгoй oтчeтнoсти пpи нaличных paсчeтaх. oсoбeннoсти пpизнaния paсхoдoв и вычeтa НДС нa oснoвaнии блaнкoв стpoгoй oтчeтнoсти. Учeт блaнкoв и их испoльзoвaния в opгaнизaции. Нoвoe в 2008 г. 11. paсчeты с пpимeнeниeм плaтeжных бaнкoвских кapт. 12. НДС пpи нaличных paсчeтaх. Выстaвлeниe счeтoв-фaктуp. 13. paбoтa с пoдoтчeтными суммaми 14. Выдaчa зapaбoтнoй плaты из кaссы пpeдпpиятия 15. oфopмлeниe выплaт пo гpaждaнскo-пpaвoвым дoгoвopaм с физичeскими лицaми (в тoм числe индивидуaльными пpeдпpинимaтeлями), oгpaничeния нa paсчeты нaличными, удepжaниe НДФЛ. 16. Выдaчa зaймoв paбoтникaм из кaссы пpeдпpиятия - oсoбeннoсти учeтa и нaлoгooблoжeния. 17. oсoбeннoсти тpудa кaссиpa 18. Тpeбoвaния к oбopудoвaнию кaссы, пpaвилa хpaнeния нaличных, дeйствия pукoвoдствa и кaссиpa в случaх хищeний и кpaж из кaссы. 19. peвизия кaссы и кoнтpoль зa сoблюдeниeм кaссoвoй дисциплины. 20. Кoнтpoль пopядкa oсущeствлeния кaссoвых oпepaций, пopядoк сoстaвлeния пpoтoкoлa oб aдминистpaтивнoм нapушeнии, сpoки дaвнoсти. Сaнкции зa нapушeния пopядкa вeдeния кaссoвых oпepaций. oбжaлoвaниe нaлoжeнных взыскaний. Пpoдoлжитeльнoсть oбучeния: с 10 дo 17 чaсoв (с пepepывoм нa oбeд и кoфe-пaузу). Мeстo oбучeния: г. Мoсквa, 5 мин. пeшкoм oт м. aкaдeмичeскaя. Стoимoсть oбучeния: 4900 pуб. (с НДС). (В стoимoсть вхoдит: paздaтoчный мaтepиaл, кoфe-пaузa, oбeд в peстopaнe). Пpи oтсутствии вoзмoжнoсти пoсeтить сeминap, мы пpeдлaгaeм пpиoбpeсти eгo видeoвepсию нa DVD/CD дискaх или видeoкaссeтaх (пpилaгaeтся aвтopский paздaтoчный мaтepиaл). Цeнa видeoкуpсa - 3500 pублeй, с учeтoм НДС. Для peгистpaции нa сeминap нeoбхoдимo oтпpaвить нaм пo фaксу: peквизиты opгaнизaции, тeму и дaту сeминapa, пoлнoe ФИo учaстникoв, кoнтaктный тeлeфoн и фaкс. Для зaкaзa видeoкуpсa нeoбхoдимo oтпpaвить нaм пo фaксу: peквизиты opгaнизaции, тeму видeoкуpсa, укaзaть нoситeль (ДВД или СД диски), тeлeфoн, фaкс, кoнтaктнoe лицo и тoчный aдpeс дoстaвки. Пoлучить дoпoлнитeльную инфopмaцию и зapeгистpиpoвaться мoжнo: пo т/ф: ( 4 9 5 ) 543 = 8 8 = 4 6 |
From: Gerd H. <kr...@re...> - 2008-04-11 07:33:26
|
Hi, Tried to use kvmclock with xenner and noticed that the kvmclock (MSR_KVM_SYSTEM_TIME msr) is incompatible with xen. kvm guests do this to translate the tsc delta into nsecs: #define get_clock(cpu, field) per_cpu(hv_clock, cpu).field static inline u64 kvm_get_delta(u64 last_tsc) { int cpu = smp_processor_id(); u64 delta = native_read_tsc() - last_tsc; return (delta * get_clock(cpu, tsc_to_system_mul)) >> 22; } whereas xen guests do this (64bit version): static inline u64 scale_delta(u64 delta, u32 mul_frac, int shift) { u64 product; if (shift < 0) delta >>= -shift; else delta <<= shift; __asm__ ( "mul %%rdx ; shrd $32,%%rdx,%%rax" : "=a" (product) : "0" (delta), "d" ((u64)mul_frac)); return product; } Note that xen does a 64bit multiply (of the 64bit delta and the 32bit factor) yielding a 128bit result, then picking bits 32-95 for the 64bit return value. In contrast kvm does a simple 64bit multiply, which is equivalent to using the lowest 64 bits. Thus kvm is off by factor 2^32, and that without even considering the ordering of two (shift + multiply) operations and any rounding errors ... cheers, Gerd -- http://kraxel.fedorapeople.org/xenner/ |
From: Видеокурсы <dm...@ke...> - 2008-04-11 05:30:08
|
Вам случалось обучать сотрудника, чтобы с новыми знаниями он перешел работать к Вашему конкуренту? Теперь все будет иначе! Даже если сотрудник уволится, знания останутся в компании! ВИДЕОКУРСЫ 1) УПРОЩЕННАЯ СИСТЕМА НАЛОГООБЛОЖЕНИЯ Сущность УСН, освобождение от уплаты ряда налогов. Организация бухгалтерского и налогового учета при УСН. Порядок определения доходов и расходов (с учетом новшеств 2008 г.). Особенности исчисления налоговой базы при переходе на упрощенную систему налогообложения. 2) ОПЛАТА ТРУДА И СОЦИАЛЬНЫЕ ВЫПЛАТЫ В 2008 г. НДФЛ, ЕСН Организация оплаты труда на предприятии в 2008 г. с учетом изменений, внесенных в ТК РФ. Как часто нужно платить зарплату, требования контролирующих органов к минимальному размеру оплаты труда. Оплата за отработанное время. Оплата за неотработанное время. Расчеты при увольнении работника. Оплата труда и налог на прибыль. 3) АВТОМОБИЛЬ В ВАШЕЙ ОРГАНИЗАЦИИ (для бухгалтера) Покупка автомобиля, переоформление и постановка на учет. Документы первичного учета. Автомобиль как основное средство. Аренда автомобиля. Расходы на сигнализацию, запчасти, и ремонт автомобиля. Расходы на ГСМ. Путевые листы. 4) ИНОСТРАННЫЕ РАБОТНИКИ - ОСОБЕННОСТИ ТРУДОВЫХ ОТНОШЕНИЙ И НАЛОГООБЛОЖЕНИЯ. НОВШЕСТВА В ЗАКОНОДАТЕЛЬСТВЕ. Статус иностранного гражданина в РФ. Ограничения на работу в РФ иностранцев временно пребывающих и временно проживающих в РФ. Участие иностранцев в трудовых отношениях в РФ. Ответственность за нарушение миграционного законодательства. Договорные отношения с иностранными гражданами. Документы, предъявляемые иностранцами при приеме на работу. Особенности уплаты НДФЛ и ЕСН за иностранного работника. 5) ОРГАНИЗАЦИЯ ДОГОВОРНОЙ РАБОТЫ НА ПРЕДПРИЯТИИ (ОБОБЩЕНИЕ СУДЕБНО-АРБИТРАЖНОЙ ПРАКТИКИ) Понятие договора и сделки в современном гражданском праве. Правовое значение документов, сопровождающих договорную работу. Правила оформления предварительных договоренностей контрагентов. Существенные условия договора. Ответственность за нарушение условий договора. 6) БУХГАЛТЕРСКИЙ УЧЕТ И НАЛОГООБЛОЖЕНИЕ ПРИ ОСУЩЕСТВЛЕНИИ КАПИТАЛЬНЫХ ВЛОЖЕНИЙ И ЖИЛИЩНОГО СТРОИТЕЛЬСТВА. Понятие инвестиций в капитальные вложения. Порядок отражения в учете договоров, заключаемых между субъектами инвестиционной деятельности. Долевое строительство многоквартирных домов и иных объектов недвижимости. Взаимоотношения заказчика с другими участниками строительного процесса. Бухгалтерский и налоговый учет у заказчика. 7) ДОГОВОР АРЕНДЫ. ПРАВОВЫЕ, НАЛОГОВЫЕ И БУХГАЛТЕРСКИЕ АСПЕКТЫ. НАЛОГОВЫЕ ПРЕИМУЩЕСТВА ДОГОВОРА АРЕНДЫ. Виды договоров аренды. Объекты аренды. Прекращение и возобновление договора аренды. Налоговые преимущества договора аренды. Регистрация договора аренды и налог на прибыль. 8) ФИЛИАЛЫ И ОБОСОБЛЕННЫЕ ПОДРАЗДЕЛЕНИЯ Признаки обособленного подразделения по НК РФ. Процедура регистрации организации в налоговых органах по месту нахождения обособленного подразделения. Особенности бухгалтерского и налогового учета в организациях, имеющих обособленные подразделения. 9) ДОГОВОРЫ В СТРОИТЕЛЬСТВЕ (ПРАКТИЧЕСКИЕ РЕКОМЕНДАЦИИ) Документальное оформление договорных отношений. Договорные условия. Тендерный отбор контрагентов (преимущества и недостатки). Обеспечение интересов заказчика в договорных отношениях. Оформление сдачи-приемки работ. Ответственность за нарушение договорных обязательств в строительной деятельности. 10) МАТЕРИАЛЬНЫЕ РАСХОДЫ Понятие материально-производственных запасов в бухгалтерском учете. Материальные расходы для целей налогообложения прибыли. Порядок отражения в бухгалтерском учете поступления материально-производственных запасов. Документальное оформление операций. Вы можете приобрести наши видеокурсы на DVD либо CD дисках (на выбор). Стоимость для всех носителей одинакова. Доставка по Москве и России включена в стоимость. Заказ и дополнительная информация по телефону: (495) 543-88-46 |
From: Anthony L. <an...@co...> - 2008-04-11 04:25:48
|
Joerg Roedel wrote: > The compilation of kvm-userspace part fails if the in-kernel pit is not > detected in <linux/kvm.h> with the following error message: > > pc.o: In function `pc_init1': > /home/jroedel/src/kvm/kvm-userspace/qemu/hw/pc.c:987: undefined reference to `kvm_pit_init' > collect2: ld returned 1 exit status > > This patch fixes this little issue. > A better solution is to wrap qemu_kvm_put_in_kernel in an #ifdef KVM_CAP_PIT so that if it isn't defined, it always returns 0. gcc will then do the right thing. Regards, Anthony Liguori > Signed-off-by: Joerg Roedel <joe...@am...> > --- > qemu/configure | 1 + > qemu/hw/pc.c | 2 ++ > 2 files changed, 3 insertions(+), 0 deletions(-) > > diff --git a/qemu/configure b/qemu/configure > index ca9bce2..bfbd93c 100755 > --- a/qemu/configure > +++ b/qemu/configure > @@ -1187,6 +1187,7 @@ configure_kvm() { > echo "CONFIG_KVM_KERNEL_INC=$kernel_path/include" >> $config_mak > if test $kvm_cap_pit = "yes" ; then > echo "USE_KVM_PIT=1" >> $config_mak > + echo "#define USE_KVM_PIT 1" >> $config_h > fi > disable_cpu_emulation > fi > diff --git a/qemu/hw/pc.c b/qemu/hw/pc.c > index 859d7db..aa9afea 100644 > --- a/qemu/hw/pc.c > +++ b/qemu/hw/pc.c > @@ -983,9 +983,11 @@ static void pc_init1(ram_addr_t ram_size, int vga_ram_size, > if (pci_enabled) { > ioapic = ioapic_init(); > } > +#ifdef USE_KVM_PIT > if (kvm_enabled() && qemu_kvm_pit_in_kernel()) > pit = kvm_pit_init(0x40, i8259[0]); > else > +#endif > pit = pit_init(0x40, i8259[0]); > pcspk_init(pit); > if (pci_enabled) { > |
From: Mark B. <mar...@al...> - 2008-04-11 01:30:33
|
When I use the vmwarevga option I get the following error: kvm: get_dirty_pages returned -2 This is the same error that used to occur with -std-vga. Is this a known issue? Mark Bidewell |
From: Avi K. <av...@qu...> - 2008-04-11 00:22:13
|
Marcelo Tosatti wrote: > Add libkvm interface to get/set the mpstate. > > Signed-off-by: Marcelo Tosatti <mto...@re...> > > Index: marcelo/git/kvm-userspace.io/libkvm/libkvm.c > =================================================================== > --- marcelo.orig/git/kvm-userspace.io/libkvm/libkvm.c > +++ marcelo/git/kvm-userspace.io/libkvm/libkvm.c > @@ -776,6 +776,32 @@ int kvm_set_sregs(kvm_context_t kvm, int > return ioctl(kvm->vcpu_fd[vcpu], KVM_SET_SREGS, sregs); > } > > +int kvm_get_mpstate(kvm_context_t kvm, int vcpu, int *mpstate) > +{ > + int r; > + > +#ifdef KVM_CAP_MP_STATE > + r = ioctl(kvm->fd, KVM_CHECK_EXTENSION, KVM_CAP_MP_STATE); > + if (r > 0) > + return ioctl(kvm->vcpu_fd[vcpu], KVM_GET_MP_STATE, mpstate); > +#endif > + return -1; > +} > We usually follow the convention of returning -errno in case of error instead of -1 in libkvm. -- Any sufficiently difficult bug is indistinguishable from a feature. |
From: Avi K. <av...@qu...> - 2008-04-11 00:10:57
|
Marcelo Tosatti wrote: > /* > * ioctls for VM fds > @@ -340,5 +341,7 @@ struct kvm_s390_interrupt { > #define KVM_S390_SET_INITIAL_PSW _IOW(KVMIO, 0x96, struct kvm_s390_psw) > /* initial reset for s390 */ > #define KVM_S390_INITIAL_RESET _IO(KVMIO, 0x97) > +#define KVM_GET_MP_STATE _IO(KVMIO, 0x98) > +#define KVM_SET_MP_STATE _IO(KVMIO, 0x99) > This needs _IOW or _IORW to document transfer direction and structure size. Please put the data in a structure, and document the values by moving the #defines into linux/kvm.h -- Any sufficiently difficult bug is indistinguishable from a feature. |
From: Avi K. <av...@qu...> - 2008-04-11 00:06:08
|
Marcelo Tosatti wrote: > On Wed, Apr 09, 2008 at 12:59:50AM +0300, Avi Kivity wrote: > >> Marcelo Tosatti wrote: >> >>> Avi, I prefer not to fold mpstate into kvm_save_registers() as a hidden >>> register because the MPSTATE is only used during migration, whereas >>> save_registers() is not (seems safer) >>> >> But that's the point... what about savevm/loadvm, etc? They deserve to >> work too. >> > > savevm/loadvm will work through cpu_save/cpu_load just as live migration > does, so they are covered. > > Right. -- Any sufficiently difficult bug is indistinguishable from a feature. |
From: Avi K. <av...@qu...> - 2008-04-11 00:04:26
|
Liu, Eric E wrote: > Hi, Avi and all > According to your comments from V2, I work out the new patchsets > of kvm trace. Please help to review, Thanks. > In this version, fix the issues you pointed out and add a new ioctl > PAUSE to make user space app better to control trace stream. > Hope it is useful for performance accounting and cause less headaches > when people use it :). > > Applied all, thanks. I added a comment to the effect that the binary interface is not fixed, so we can change it at will. I also stubbed out ia64 and s390 support. -- Any sufficiently difficult bug is indistinguishable from a feature. |
From: Avi K. <av...@qu...> - 2008-04-10 23:32:14
|
Joerg Roedel wrote: > This patchset implements proper MCE handling for SVM in the KVM hypervisor. > Currently KVM does not set CR4.MCE when it runs the guest. When a MCE condition > occurs while the guest is running the exception gets lost. This may result in > data corruption or other undefined behaviour. This patchset sets CR4.MCE to the > value in the host and adds the intercept for machine check exceptions to the > SVM implementation. When this intercept occurs, it calls the host MCE exception > handler manually. > > Applied all, thanks. -- Any sufficiently difficult bug is indistinguishable from a feature. |
From: Avi K. <av...@qu...> - 2008-04-10 23:19:02
|
Joerg Roedel wrote: > The compilation of kvm-userspace part fails if the in-kernel pit is not > detected in <linux/kvm.h> with the following error message: > > pc.o: In function `pc_init1': > /home/jroedel/src/kvm/kvm-userspace/qemu/hw/pc.c:987: undefined reference to `kvm_pit_init' > collect2: ld returned 1 exit status > > This patch fixes this little issue. > > Applied, thanks. -- Any sufficiently difficult bug is indistinguishable from a feature. |
From: Jerone Y. <jy...@us...> - 2008-04-10 22:19:56
|
So this now moves code away from common code to arch specific kvm_qemu_arch_init(). Also added is a removal of duplicate calls to kvm_qemu_init_env() in common code. Signed-off-by: Jerone Young <jy...@us...> 3 files changed, 6 insertions(+), 4 deletions(-) qemu/hw/ppc440_bamboo.c | 3 --- qemu/qemu-kvm-powerpc.c | 6 ++++++ qemu/qemu-kvm.c | 1 - |
From: Jerone Y. <jy...@us...> - 2008-04-10 22:18:27
|
1 file changed, 6 insertions(+) qemu/qemu-kvm-powerpc.c | 6 ++++++ This patch adds a call to load_kvm_registers after creation of vcpu. This is required for ppc since we are required to set certain registers before boot. Signed-off-by: Jerone Young <jy...@us...> diff --git a/qemu/qemu-kvm-powerpc.c b/qemu/qemu-kvm-powerpc.c --- a/qemu/qemu-kvm-powerpc.c +++ b/qemu/qemu-kvm-powerpc.c @@ -121,6 +121,12 @@ void kvm_arch_save_regs(CPUState *env) int kvm_arch_qemu_init_env(CPUState *cenv) { + if (cenv->cpu_index == 0) { + /* load any registers set in env into + kvm for the first guest vcpu */ + kvm_load_registers(cenv); + } + return 0; } |
From: Jerone Y. <jy...@us...> - 2008-04-10 22:18:06
|
1 file changed, 1 deletion(-) qemu/qemu-kvm.c | 1 - kvm_qemu_init is called in ap_main_loop() , when ap_main_loop() calls kvm_main_loop_cpu(), kvm_qemu_init() is run for a second time. It should only be called in kvm_main_loop_cpu(). Signed-off-by: Jerone Young <jy...@us...> ~ diff --git a/qemu/qemu-kvm.c b/qemu/qemu-kvm.c --- a/qemu/qemu-kvm.c +++ b/qemu/qemu-kvm.c @@ -353,7 +353,6 @@ static void *ap_main_loop(void *_env) sigdelset(&signals, SIG_IPI); sigprocmask(SIG_BLOCK, &signals, NULL); kvm_create_vcpu(kvm_context, env->cpu_index); - kvm_qemu_init_env(env); if (kvm_irqchip_in_kernel(kvm_context)) env->hflags &= ~HF_HALTED_MASK; kvm_main_loop_cpu(env); |