From owner-freebsd-bugs@freebsd.org Fri Sep 13 21:54:29 2019 Return-Path: Delivered-To: freebsd-bugs@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 9CA14D4AE3 for ; Fri, 13 Sep 2019 21:54:29 +0000 (UTC) (envelope-from xypron.glpk@gmx.de) Received: from mout.gmx.net (mout.gmx.net [212.227.15.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "mout.gmx.net", Issuer "TeleSec ServerPass Class 2 CA" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 46VTtr4LvTz4B7q for ; Fri, 13 Sep 2019 21:54:28 +0000 (UTC) (envelope-from xypron.glpk@gmx.de) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1568411654; bh=8OuY4Fr+5b5GXHUAX0IPX7WaYwvXv9DXRaq+csYdOmE=; h=X-UI-Sender-Class:To:Cc:From:Subject:Date; b=lbADpgPVS1mzbveebUsDyt0UFCKYEUK9PTzYBXKoWpNXD3pBvLd7fcUXVkji9oV5E tWMyDIEXD+t6rbkOA+KLhXp4bvNE4YEDo7wI2VSeg12EDRd1crqSxwNid/WLapwqqm rWCtDacAQq+DUVelPUPkYGbVzkwWOdlnvNSWeFSE= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from [192.168.123.51] ([84.118.159.3]) by mail.gmx.com (mrgmx001 [212.227.17.190]) with ESMTPSA (Nemesis) id 0M7pDs-1iMJbt0lGq-00vLI1; Fri, 13 Sep 2019 23:48:41 +0200 To: Emmanuel Vadot Cc: Emmanuel Vadot , Alexander Graf , U-Boot Mailing List , freebsd-bugs@freebsd.org, Alexander Graf , AKASHI Takahiro From: Heinrich Schuchardt Subject: [BUG] FreeBSD cannot boot with U-Boot patch efi_loader: parameter checks BLOCK_IO_PROTOCOL Message-ID: Date: Fri, 13 Sep 2019 23:48:36 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.8.0 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:NJTU0Ph8lGY8641OF7FCmowC+las5jJOq759HF1F4TI5/SztKnh Eu6CF/LmbWAC9i9CHJRHr+ncfBVQXfpTpVrRQIJ9lvVSWlU6KQnKXpaV0Re/PrdaEaZO97D mV1UzsDpPA1GZjUGi6+OAuO3C//vZb7ZhmzFjiZVNRj21AwbzilJoe+HwSDiVH9gj/M4W/m yfF6VJqVNZNWqYgfvLrhQ== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:1spsib4IqpE=:MFvypgulLwg1waI8+B6QuF ucWA+IF6Zq0SwX2+++kcQoZBvGIYZgDgDVEkeL5CXNWja2WGX8z3Fdpr0zVSrtLGSF8XLkcg7 9Tf01XDCSDddjP+r2fddHjHrIAhhLBRHrZPjdSsiqe87My/HeiXlEapzweuTibiQyh/OaFv41 Zmf8WKmtKytoYT8r84MX7KgpIjRmW1FCvAg1Rd2EX3kkOXgqbpG6hhVrgLOBZFT8FKkg+G7B6 vC1ZxjcfOPHdcEQzeQqmacsEP75OHnU8Nz6QXT+nNByVSYHgMGLJ3WMw3Le2QcnJL2Nydur6d M584Weattd00IL1MBv2cwBThG1CmPnLpEA7kkkINmgNPOl3JRGGF+AweBumQkf8k/9S9sXMfl PvRKU8Gp4dWw7oBpiXe/34RUHGpcBKxGH+Tyrk2y8Us52WnVcR5hz2hH+dtn+dcBpEz1Yc5KJ /Gq81Yu10cPJ6aK4FIdr0YB+HWyJgXbp/nwcd+sfib4VnKdzZKyl1DpCT8/arVxfX0hYXOnoA Xy5SXl1qJk6csBpLUuhxZLuZm0GJeHqXLM7+5hPHAJdgvSHiRAOJemqTzr1M8MXegQ12RFoTd CZBWZSHeVEGZSHZoVYzT/GkC2slwjJ/hbiXB+3IVE6sRHdKT6YN+2nxoOenCY5KRcvPhMC9Nj UOeoZSFwceqdYOXapxH/F2BgyUZpB6V0a2w9+GDzxdOrnaxrfldjZWv1QBOmkdICrhIffCN7H xrDlGoKQAggJ6202I/V866faComKuxs43vxJXoc9ioyN1gbzi4pXzi6M+NP850OjVT13ylv5N 1tKYr8GMBQetQiNMmqluOjcc00jpHun+Pt0QywZ6z0m1qnO3ytTL0XOMpo7+stRlTz2gkEsoE h/g8CQOmm5+/f5qxWXzCbliFwQmVC2T9YPgbHDTEgDJ42Za9DBi7L50UVl1qtLpu57MoCiq65 pjEs8dQOI2Xo8wjbTFf6lYkQZOj3enPNRZpZ+XsJ5qf1KNMTKO9lI95x0xKkuYDAUo2FS9N+P 6PgkXzkeuBq8Rb9uqGVV6I0FDqKG4skKidltkLTzutmoTGTzlXBGSGt7ESYdzPzLO+GSsFjY9 Mklwsf8gGQm+jVbG+TigdgChpXOSXIeKCnQrOAbho4FWIwlskPut4aLU/uOZRfjTtflYr34Am krmO1svWigKwS+pcHxVoIQZdaH3N5rwNAa4iGYpqDkjgHEjGk7OyQMebEkfFfJ88xRaBq5u9J nmLejFozkfKY4JCwDYgZd7Ga/ZDnb/lRMmmfwgTWlroOmXEQqL2B87vTP+30= X-Rspamd-Queue-Id: 46VTtr4LvTz4B7q X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmx.net header.s=badeba3b8450 header.b=lbADpgPV; dmarc=none; spf=pass (mx1.freebsd.org: domain of xypron.glpk@gmx.de designates 212.227.15.18 as permitted sender) smtp.mailfrom=xypron.glpk@gmx.de X-Spamd-Result: default: False [-2.50 / 15.00]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; R_DKIM_ALLOW(-0.20)[gmx.net:s=badeba3b8450]; RECEIVED_SPAMHAUS_PBL(0.00)[3.159.118.84.khpj7ygk5idzvmvt5x4ziurxhy.zen.dq.spamhaus.net : 127.0.0.10]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; R_SPF_ALLOW(-0.20)[+ip4:212.227.15.0/25]; FREEMAIL_FROM(0.00)[gmx.de]; MIME_GOOD(-0.10)[text/plain]; DMARC_NA(0.00)[gmx.de]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; IP_SCORE_FREEMAIL(0.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; DKIM_TRACE(0.00)[gmx.net:+]; RCPT_COUNT_SEVEN(0.00)[7]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; IP_SCORE(0.00)[ip: (-7.32), ipnet: 212.227.0.0/16(-1.37), asn: 8560(2.15), country: DE(-0.01)]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; FREEMAIL_ENVFROM(0.00)[gmx.de]; ASN(0.00)[asn:8560, ipnet:212.227.0.0/16, country:DE]; MID_RHS_MATCH_FROM(0.00)[]; RCVD_TLS_ALL(0.00)[]; RCVD_COUNT_TWO(0.00)[2] X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Sep 2019 21:54:29 -0000 Hello Emmanuel, booting current FreeBSD fails since patch f59f0825e8b9fdeb8abe43ffd10c5119ca1a032f efi_loader: parameter checks BLOCK_IO_PROTOCOL The reason is that the buffer used by FreeBSD to read is not block aligned= . The UEFI spec requires that EFI_BLOCK_IO_PROTOCOL.ReadBlocks() returns EFI_INVALID_PARAMETER if the buffer is not properly aligned (i.e. is not a multiple of EFI_BLOCK_IO_MEDIA.IoAlign) FreeBSD does not guarantee this alignment, e.g. efi_disk_read_blocks() is called with buffer 00000000995b08d0 which is not aligned to a multiple of 512. FreeBSD function efipart_readwrite writes this error message: efipart_readwrite: rw=3D1, blk=3D62333952 size=3D1 status=3D2 The problem can be traced back to the FreeBSD line: stand/efi/libefi/efipart.c(1043) efipart_realstrategy(): blkbuf =3D malloc(blkio->Media->BlockSize); U-Boot does not yet implement the EFI_DISK_IO_PROTOCOL which is a wrapper for the EFI_BLOCK_IO_PROTOCOL allowing unaligned access. malloc() could be replaced in FreeBSD by AllocatePages() which returns a 4096 byte aligned memory block. Best regards Heinrich