Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 29 Dec 2014 20:12:42 +0100
From:      Marius Strobl <marius@alchemy.franken.de>
To:        Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>
Cc:        Adrian Chadd <adrian@freebsd.org>, Roger Pau =?iso-8859-1?Q?Monn=E9?= <royger@FreeBSD.org>, "O. Hartmann" <ohartman@zedat.fu-berlin.de>, Ian Lepore <ian@freebsd.org>, FreeBSD CURRENT <freebsd-current@freebsd.org>
Subject:   Re: r276200: EFI boot failure: kernel stops booting at pci0: <ACPI PCI bus> on pcib0
Message-ID:  <20141229191242.GA63463@alchemy.franken.de>
In-Reply-To: <54A18780.7080601@citrix.com>
References:  <20141225194207.5dfd3636.ohartman@zedat.fu-berlin.de> <CAJ-VmomfxA3Fbmfx%2B5vHHR86KsR=YMh3e=nTBTci_nNa=Pz34w@mail.gmail.com> <20141226130113.5200bfbb.ohartman@zedat.fu-berlin.de> <CAJ-Vmo=GUdB-0km4WuGbBmg-tuEebD1aAuWzGLDargUKcUffiw@mail.gmail.com> <1419621822.1018.187.camel@freebsd.org> <20141228205739.154243d8.ohartman@zedat.fu-berlin.de> <1419797387.1018.215.camel@freebsd.org> <CAJ-VmonrSNYpnUpY=mn2HWmJU%2B_85Tny8HBgnWVL_p8OEe8M_A@mail.gmail.com> <54A13DDB.2040206@FreeBSD.org> <54A18780.7080601@citrix.com>

next in thread | previous in thread | raw e-mail | index | archive | help

--5mCyUwZo2JvN/JJP
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit

On Mon, Dec 29, 2014 at 05:55:28PM +0100, Roger Pau Monné wrote:
> El 29/12/14 a les 12.41, Roger Pau Monné ha escrit:
> > Hello,
> > 
> > Sorry for not noticing this earlier, I've been without a computer for
> > some days. Do you get a panic message, or the system just freezes?
> > 
> > Can you please post the full boot output with boot_verbose enabled?
> 
> I'm not able to reproduce the problem with Qemu and OVMF, and I don't
> have any box right now that uses UEFI.
> 
> I'm guessing that this is due to some memory reservation conflict, so
> I'm attaching a patch that should help diagnose it.

You'll probably want to nuke RF_ACTIVE so the resources are marked
as taken but in case of vt_efifb(4), the memory isn't mapped twice.
I don't not know whether the latter actually is a problem for x86,
though, it'll likely at least replace the VM_MEMATTR_WRITE_COMBINING
mapping done in vt_efifb_remap(). Removing RF_ACTIVE in turn might
not be sufficient for the Xen bits to mark the resource as reserved,
this should be fixed in the FreeBSD/Xen code then, however.
Also end = size - 1, see the attached patch.

Marius


--5mCyUwZo2JvN/JJP
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment; filename="efifb_vt_vga.diff"

Index: dev/vt/hw/efifb/efifb.c
===================================================================
--- dev/vt/hw/efifb/efifb.c	(revision 276343)
+++ dev/vt/hw/efifb/efifb.c	(working copy)
@@ -211,8 +211,8 @@
 	res_id = 0;
 	pseudo_phys_res = bus_alloc_resource(dev, SYS_RES_MEMORY,
 	    &res_id, local_info.fb_pbase,
-	    local_info.fb_pbase + local_info.fb_size,
-	    local_info.fb_size, RF_ACTIVE);
+	    local_info.fb_pbase + local_info.fb_size - 1,
+	    local_info.fb_size, 0);
 	if (pseudo_phys_res == NULL)
 		panic("Unable to reserve vt_efifb memory");
 	return (0);
Index: dev/vt/hw/vga/vt_vga.c
===================================================================
--- dev/vt/hw/vga/vt_vga.c	(revision 276343)
+++ dev/vt/hw/vga/vt_vga.c	(working copy)
@@ -1275,8 +1275,8 @@
 
 	res_id = 0;
 	pseudo_phys_res = bus_alloc_resource(dev, SYS_RES_MEMORY,
-	    &res_id, VGA_MEM_BASE, VGA_MEM_BASE + VGA_MEM_SIZE,
-	    VGA_MEM_SIZE, RF_ACTIVE);
+	    &res_id, VGA_MEM_BASE, VGA_MEM_BASE + VGA_MEM_SIZE - 1,
+	    VGA_MEM_SIZE, 0);
 	if (pseudo_phys_res == NULL)
 		panic("Unable to reserve vt_vga memory");
 	return (0);

--5mCyUwZo2JvN/JJP--



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