From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=17.151.62.25; helo=mail-in2.apple.com; envelope-from=afish@apple.com; receiver=edk2-devel@lists.01.org Received: from mail-in2.apple.com (mail-out2.apple.com [17.151.62.25]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 393812097174E for ; Thu, 19 Jul 2018 11:26:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; d=apple.com; s=mailout2048s; c=relaxed/simple; q=dns/txt; i=@apple.com; t=1532024760; x=2395938360; h=From:Sender:Reply-To:Subject:Date:Message-id:To:Cc:MIME-version:Content-type: Content-transfer-encoding:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-reply-to:References:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=6DEDUs3dh0aB26jFHNrlysa/C9g6TSwkxWSzDsYN5PU=; b=u+UNpGVwTrNe171zQ1uVYD/I8s2k+0duHFBEg3sXuIoIL5Rdtf/cYad1XYDNFKC2 /BL2MKWbYgYLmKoqxq7Zdnd9LFFH2Zo7Hy4HVmxT0nWf1ZZJAgeaZsHMDU6RM+u+ NaFkGqAMibJW3RObYjE7jm1dQhtT/K/ITPFTATRAlNjJU4l46Q6kcxdjmpylfZkg zyfcdEyDdeOkG2hw+srzmIxZff4N0/uZj7WuwZCHdfn4khQPL1a98zgsVVUReRoc fUsaRlmXthSVvUDc2MTuE9OMyPquunsysrTUBI3Ait315E6ebkT7+LnxRZkFLCdM xzhfe1S1ikz/0rBR8A0Erw==; X-AuditID: 11973e11-a14739e000005b22-ae-5b50d7b8d098 Received: from ma1-mtap-s03.corp.apple.com (ma1-mtap-s03.corp.apple.com [17.40.76.7]) (using TLS with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) by mail-in2.apple.com (Apple Secure Mail Relay) with SMTP id BF.85.23330.8B7D05B5; Thu, 19 Jul 2018 11:26:00 -0700 (PDT) MIME-version: 1.0 Received: from ma1-mmpp-sz11.apple.com (ma1-mmpp-sz11.apple.com [17.171.128.33]) by ma1-mtap-s03.corp.apple.com (Oracle Communications Messaging Server 8.0.2.3.20180614 64bit (built Jun 14 2018)) with ESMTPS id <0PC400FH8LVC9N90@ma1-mtap-s03.corp.apple.com>; Thu, 19 Jul 2018 11:26:00 -0700 (PDT) Received: from process_viserion-daemon.ma1-mmpp-sz11.apple.com by ma1-mmpp-sz11.apple.com (Oracle Communications Messaging Server 8.0.2.3.20180614 64bit (built Jun 14 2018)) id <0PC400700LLJGE00@ma1-mmpp-sz11.apple.com>; Thu, 19 Jul 2018 11:26:00 -0700 (PDT) X-Va-A: X-Va-T-CD: 4a30a624aacf26b334adcf21321ddbc3 X-Va-E-CD: 16b3a715f35d846d6920d21021fa296d X-Va-R-CD: 8e2b3c0d7dc3ab43eaeb0b2e355d82e6 X-Va-CD: 0 X-Va-ID: 1e84e3dc-4432-4c59-abca-4b6f0856085a X-V-A: X-V-T-CD: 4a30a624aacf26b334adcf21321ddbc3 X-V-E-CD: 16b3a715f35d846d6920d21021fa296d X-V-R-CD: 8e2b3c0d7dc3ab43eaeb0b2e355d82e6 X-V-CD: 0 X-V-ID: 7ea1aa64-ff8d-4ecb-a4d9-4b8e02943aff Received: from process_milters-daemon.ma1-mmpp-sz11.apple.com by ma1-mmpp-sz11.apple.com (Oracle Communications Messaging Server 8.0.2.3.20180614 64bit (built Jun 14 2018)) id <0PC400800LNH4W00@ma1-mmpp-sz11.apple.com>; Thu, 19 Jul 2018 11:25:59 -0700 (PDT) X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:,, definitions=2018-07-19_06:,, signatures=0 X-Proofpoint-Scanner-Instance: ma-grpmailp-qapp23.corp.apple.com-10000_instance1 Received: from [17.234.139.141] by ma1-mmpp-sz11.apple.com (Oracle Communications Messaging Server 8.0.2.3.20180614 64bit (built Jun 14 2018)) with ESMTPSA id <0PC400EQMLV9R200@ma1-mmpp-sz11.apple.com>; Thu, 19 Jul 2018 11:25:59 -0700 (PDT) Sender: afish@apple.com From: Andrew Fish In-reply-to: Date: Thu, 19 Jul 2018 11:25:56 -0700 Cc: "edk2-devel@lists.01.org" Message-id: References: To: Marvin H?user X-Mailer: Apple Mail (2.3445.6.18) X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrGIsWRmVeSWpSXmKPExsUiqOHDrrvjekC0weVeY4s9h44yW7z9f5Xd gcmje/Y/Fo/Nr18wBzBFcdmkpOZklqUW6dslcGX07L7AVvBHpGLd3f2MDYz9gl2MnBwSAiYS Z6f9Ze1i5OIQEtjHJPF5cjcjSIJXQFDix+R7LF2MHBzMAvISB8/LgoSZBbQkvj9qZYGo38Ak ce/ZQSaQhJBAF5PE17f1EEPZJf782sECYWtLvFn/hBHGnvPyDTOM/eLXDDYIm0tiwdbTrBC2 rsSO6Xehatgk1p9YwgRha0nM2HyKEcZuXH2WBca+NWkOVD2nxPkvE9lBbpYQ0JGYPgPqzk4m ieX7PkPVZEs0bvoENTNAYs3Cn4wQRd8YJW78mQKWEBYQl3h3ZhMzhK0psab7KpjNJqAssWL+ B3YQm1MgWeLaqjYmkGUsAqoS0w8zQQLIXGLGhS9MkDC0kWjrvcEEMX8no8TrPUfA5ogI6Eks e/qOZQKj4iyksJ6FCOtZSGG9gJF5FaNQbmJmjm5mnpFeYkFBTqpecn7uJkZQQphuJ7iD8fgq q0OMAhyMSjy8DK4B0UKsiWXFlbmHGKU5WJTEeY9vBAoJpCeWpGanphakFsUXleakFh9iZOLg lGpgTDv8aVmPRdukdONJSrarvd9tnbTe0uBmT4Q706ez+24xLvjzwcR/7v+fW+w95J3Yc+V/ dkbMDKrfKCdxk6Xu9YvZ2mcijmzdvk5tzZ9TX7j+7C+yzbrV5XX7xsL3R0sPz7MuOMYQ6e4e +87TfU6XTUmr/GynRR0J5Q+OnvAV2Fi4fVrFg/zrO5RYijMSDbWYi4oTAXMymAzpAgAA Subject: Re: Help on AutoGen Files X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.27 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 19 Jul 2018 18:26:01 -0000 Content-transfer-encoding: 7BIT Content-type: text/plain; CHARSET=US-ASCII Udit, As Marvin points out the [LibraryClasses] section of the INF file are going to imply the order of the library constructor calls in the AutoGen Worst case you can demote FpgaInterfaceInit () from being a constructor to just being a public library function that the other lib can call explicitly from its constructor. Maybe that is too drastic and you could must move a function out of FpgaInterfaceInit () and make that function part of the Public library interface? Thanks, Andrew Fish > On Jul 19, 2018, at 11:14 AM, Marvin H?user wrote: > > Hey Udit, > > You cannot explicitly influence the order of the calls, but implicitly via the dependency tree, which means you need to make SerialPortLib depend on your LibraryClass instance. > You did not mention which SerialPortLib instance you use, but probably you need to execute FpgaInterfaceInit() earlier in platform code or fork SerialPortLib for now. > > Regards, > Marvin > >> -----Original Message----- >> From: edk2-devel On Behalf Of Udit >> Kumar >> Sent: Thursday, July 19, 2018 9:33 AM >> To: edk2-devel@lists.01.org >> Subject: [edk2] Help on AutoGen Files >> >> Hi Experts, >> How I can change the order of initialization in Constructor list of autogen file. >> In my build system, if I look at >> MdeModulePkg/Universal/PCD/Pei/Pcd/DEBUG/AutoGen.c >> Below is function of Library Constructor List >> >> VOID >> EFIAPI >> ProcessLibraryConstructorList ( >> IN EFI_PEI_FILE_HANDLE FileHandle, >> IN CONST EFI_PEI_SERVICES **PeiServices >> ) >> { >> EFI_STATUS Status; >> >> Status = BaseDebugLibSerialPortConstructor (); >> ASSERT_EFI_ERROR (Status); >> >> Status = PeiServicesTablePointerLibConstructor (FileHandle, PeiServices); >> ASSERT_EFI_ERROR (Status); >> >> Status = TimerConstructor (); >> ASSERT_EFI_ERROR (Status); >> >> Status = FpgaInterfaceInit (); >> ASSERT_EFI_ERROR (Status); >> >> } >> >> >> My problem is SerialPortConstructor needs frequency, which can be >> retrieved after FpgaInterfaceInit() Therefore, my preferred way for this >> constructor list will be >> FpgaInterfaceInit() followed by BaseDebugLibSerialPortConstructor() >> >> how I can achieve this. >> >> >> Many Thanks >> Udit >> _______________________________________________ >> edk2-devel mailing list >> edk2-devel@lists.01.org >> https://lists.01.org/mailman/listinfo/edk2-devel > _______________________________________________ > edk2-devel mailing list > edk2-devel@lists.01.org > https://lists.01.org/mailman/listinfo/edk2-devel