From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from list by lists.gnu.org with archive (Exim 4.71) id 1Zk7Yg-0003gB-8v for mharc-grub-devel@gnu.org; Thu, 08 Oct 2015 05:32:18 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:41642) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZhhqK-0007K6-2a for grub-devel@gnu.org; Thu, 01 Oct 2015 13:40:33 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZhhqE-00025e-Vd for grub-devel@gnu.org; Thu, 01 Oct 2015 13:40:31 -0400 Received: from mail-la0-x22a.google.com ([2a00:1450:4010:c03::22a]:36593) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZhhqE-00025S-Oq for grub-devel@gnu.org; Thu, 01 Oct 2015 13:40:26 -0400 Received: by laclj5 with SMTP id lj5so79208403lac.3 for ; Thu, 01 Oct 2015 10:40:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=subject:to:references:cc:from:message-id:date:user-agent :mime-version:in-reply-to:content-type:content-transfer-encoding; bh=DcfqIABfHJAMnlGLLT3xlOsnGjX0x4wK4NvlbUVb9Y0=; b=QO8ytk0jF/u4NYvaG7TDtx/ioZ+/+zo0mMppV2gAkuB/IrZESzXlxMfzuRBtIUk7P5 rbcyJuh5BJ8NHYd0uakwSnY0kSaCM32DQgPL3/iqcH6qCL0P+V4x64t/XgRSLiaobfNd yG0SuycwD4LFYKmebJPD5AXxZXmPPfHoH27iMiXomIBkQREkibkrGfI1teJB9mnhIkOt Wz97UxVnZHps38LnHCn+k6UlirU8S7fY35BAqFY0v1A7qxLnvS3kNC8HWRRYoo9VlHEu aQJ6835rEFqCRHncvdlurgTO8IP44xejp2T0ywJ8ktDvL5VXdAK3KlkyhMZbm356AHe+ XtwQ== X-Received: by 10.25.144.78 with SMTP id s75mr2355872lfd.116.1443721225998; Thu, 01 Oct 2015 10:40:25 -0700 (PDT) Received: from [192.168.1.43] (ppp91-76-142-206.pppoe.mtu-net.ru. [91.76.142.206]) by smtp.gmail.com with ESMTPSA id rv2sm789721lbb.30.2015.10.01.10.40.24 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 01 Oct 2015 10:40:25 -0700 (PDT) Subject: Re: [PATCH] efinet: disable MNP background polling To: HATAYAMA Daisuke , grub-devel@gnu.org References: <20151001.182655.371384337.d.hatayama@jp.fujitsu.com> From: Andrei Borzenkov Message-ID: <560D7008.1050004@gmail.com> Date: Thu, 1 Oct 2015 20:40:24 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.2.0 MIME-Version: 1.0 In-Reply-To: <20151001.182655.371384337.d.hatayama@jp.fujitsu.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2a00:1450:4010:c03::22a Cc: lersek@redhat.com, glin@suse.com X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list Reply-To: The development of GNU GRUB List-Id: The development of GNU GRUB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 01 Oct 2015 17:40:33 -0000 01.10.2015 12:26, HATAYAMA Daisuke пишет: > > Actually, PXE boot fails on Fujitsu PRIMEQUEST 2000 series now. > Could you give more details what fails here? GRUB is not loaded or GRUB fails to load its files or image chainloaded by GRUB fails? > > diff --git a/grub-core/net/drivers/efi/efinet.c b/grub-core/net/drivers/efi/efinet.c > index c9af01c..a506ab3 100644 > --- a/grub-core/net/drivers/efi/efinet.c > +++ b/grub-core/net/drivers/efi/efinet.c > @@ -29,6 +29,7 @@ GRUB_MOD_LICENSE ("GPLv3+"); > /* GUID. */ > static grub_efi_guid_t net_io_guid = GRUB_EFI_SIMPLE_NETWORK_GUID; > static grub_efi_guid_t pxe_io_guid = GRUB_EFI_PXE_GUID; > +static grub_efi_guid_t mnp_io_guid = GRUB_EFI_MANAGED_NETWORK_GUID; > > static grub_err_t > send_card_buffer (struct grub_net_card *dev, > @@ -269,6 +270,9 @@ grub_efi_net_config_real (grub_efi_handle_t hnd, char **device, > grub_efi_device_path_t *cdp; > struct grub_efi_pxe *pxe; > struct grub_efi_pxe_mode *pxe_mode; > + grub_efi_managed_network_t *mnp; > + struct grub_efi_managed_network_config_data m; > + struct grub_efi_simple_network_mode s; > if (card->driver != &efidriver) > continue; > cdp = grub_efi_get_device_path (card->efi_handle); > @@ -312,6 +316,16 @@ grub_efi_net_config_real (grub_efi_handle_t hnd, char **device, > &pxe_mode->dhcp_ack, > sizeof (pxe_mode->dhcp_ack), > 1, device, path); > + > + mnp = grub_efi_open_protocol (card->efi_handle, &mnp_io_guid, > + GRUB_EFI_OPEN_PROTOCOL_GET_PROTOCOL); > + > + if (mnp > + && efi_call_3 (mnp->get_mode_data, mnp, &m, &s) == GRUB_EFI_SUCCESS) { > + m.disable_background_polling = 1; > + efi_call_2 (mnp->configure, mnp, &m); > + } > + That's not going to work, sorry. As Laszlo already explained, base card does not have MNP protocol as all. MNP is bound to child nodes and configuration is per-child so you would need to iterate through all of them.