Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 18 Aug 2001 23:04:58 -0700
From:      Peter Wemm <peter@wemm.org>
To:        Masahide -mac- NODA <mac@clave.gr.jp>
Cc:        stable@FreeBSD.ORG
Subject:   Re: 4.4-RC kernel can't boot on vmware 
Message-ID:  <20010819060458.173C738FD@overcee.netplex.com.au>
In-Reply-To: <20010819.113313.59462943.mac@clave.gr.jp> 

next in thread | previous in thread | raw e-mail | index | archive | help
Masahide -mac- NODA wrote:
> More Information. I found booting enable on some case.
> 
> mac> I'm using vmware for W2K(2.0.4 build 1142), Guest OS FreeBSD.
> mac> I made 4.4-RC kernel and tried boot, but it can't.
> 
> mac> The kernel freeze at exec moused. I try to disable to exec moused, but
> mac> init(1) panics before login prompt.
> 
> mac> 4.4-PRERELEASE kernel(cvsuped at 8/13) can boot, so, I merge change step
> mac> by step, I found,
> 
> mac>   merging "SSE kernel support"(2001/08/14 18:23:54 PDT) -> can't boot
> 
> mac> Kernel option "CPU_ENABLE_SSE" is not effective. I tried to both kernel
> mac> CPU_ENABLE_SSE option enable/disable, but, it can't boot.
> 
> 4.4-RC kernel (include SSE support)
>    can boot on vmware, the root partionis "Virtual Disk".
>    can't boot on vmware, the root partionis "Existing Disk Partions".
> 
> 4.4-RC kernel (not include SSE support)
>    can boot on vmware, the root partionis "Virtual Disk".
>    can boot on vmware, the root partionis "Existing Disk Partions".
> 
> 5-current kernel (cvsuped at 8/12)
>    can boot on vmware, the root partionis "Existing Disk Partions".

I am sorry, I am quite confused at this point..

Are you saying that the commit that added SSE support makes freebsd fail
as a vmware guest OS, regardless of whether it was compiled with or
without CPU_ENABLE_SSE?

The only effect that the commit changed that is not masked by
the CPU_ENABLE_SSE that I know about is the change to the pcb structure
layout.  I would like to know if the following (UNTESTED) patch has any
effect:

Index: npx.h
===================================================================
RCS file: /home/ncvs/src/sys/i386/include/npx.h,v
retrieving revision 1.21
diff -u -r1.21 npx.h
--- npx.h	2001/07/12 06:32:51	1.21
+++ npx.h	2001/08/19 05:58:52
@@ -116,9 +116,15 @@
 	u_char sv_pad[220];
 } __attribute__((aligned(16)));
 
+#ifdef _KERNEL
+#include "opt_cpu.h"
+#endif
+
 union	savefpu {
 	struct	save87	sv_87;
+#if defined(CPU_ENABLE_SSE) || !defined(_KERNEL)
 	struct	savexmm	sv_xmm;
+#endif
 };
 
 /*

This may require some more changes to make it compile, but the intent is to
shrink the savefpu structure from 512 bytes down to the size of struct
save87 like it was before.

If this does have an effect, then I wonder if vmware is tinkering with
the pcb structure that it "knows" about from outside the virtual machine..
The other possibility is that we were dangerously close to stack overflow
and this extra pcb size was enough to make it fail.

> and, 4.4-RC kernel (not include SSE support) with Native FreeBSD(Native
> means not vmware), my PCCARD NIC works fine, but, 4.4-RC kernel include
> SSE support with Native FreeBSD, put bellow messages and many packet
> lossing.
> 
>     ed1: remote transmit DMA failed to complete.

I think this is seperate.. Lots of changes to the pccard code have been
made in the last few weeks.  The only other thing that I can think of
is that pccard may cause different stack usage.

> Above two kernel has same configuration files, and same pccard.conf.
> 
> pcic recognize message is,
> 
>   pcic0: <TI PCI-1410 PCI-CardBus Bridge> irq 9 at device 19.0 on pci0
>   pcic0: PCI Memory allocated: 0x44000000
>   pcic0: TI12XX PCI Config Reg: [ring enable][speaker enable][pwr save][pci o
    nly]
>   pccard0: <PC Card bus (classic)> on pcic0
> 
> and pccard nic recognize message is, 
> 
>   from pccardd
>     Card "corega K.K."("corega EtherII PCC-T") [(null)] [(null)] matched "cor
    ega K.K." ("/corega Ether(II)? PCC-T/") [(null)] [(null)] 
>     Using I/O addr 0x320, size 32 
>     Setting config reg at offs 0x3f8 to 0x61, Reset time = 50 ms 
>     Assigning I/O window 0, start 0x320, size 0x20 flags 0x7 
>     Assign ed0, io 0x320-0x33f, mem 0x0, 0 bytes, irq 9, flags 0 
> 
>   and from kernel, 
>     ed1 at port 0x320-0x33f irq 9 slot 0 on pccard0
>     ed1: address 00:90:99:0d:b5:cf, type NE2000 (16 bit) 
>     ed1: corega K.K. (/corega Ether(II)? PCC-T/)
> 
> messages is same, but, 4.4-RC including SSE support kernel has 
> 
>     ed1: remote transmit DMA failed to complete.
> 
> message and packet lossing.
> 
> -- 
> mac@clave.gr.jp/mac@jp.freebsd.org
> 
> 

Cheers,
-Peter
--
Peter Wemm - peter@FreeBSD.org; peter@yahoo-inc.com; peter@netplex.com.au
"All of this is for nothing if we don't go to the stars" - JMS/B5


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-stable" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20010819060458.173C738FD>