From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=2607:f8b0:4001:c06::22d; helo=mail-io0-x22d.google.com; envelope-from=tweek@google.com; receiver=edk2-devel@lists.01.org Received: from mail-io0-x22d.google.com (mail-io0-x22d.google.com [IPv6:2607:f8b0:4001:c06::22d]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id D7A4521C913A7 for ; Wed, 1 Nov 2017 02:03:55 -0700 (PDT) Received: by mail-io0-x22d.google.com with SMTP id f20so4603935ioj.9 for ; Wed, 01 Nov 2017 02:07:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:from:date:message-id:subject:to:cc; bh=NHoW1KcI1WerOGNV6n5qtGiO0Ys5A4fvXkcifyVHwpU=; b=R1ZBEVHSRU8KXnBaY5RGLROOVmYu2484dLSv6fx3FzHTPmr/NL/kEsDwhDKcbYFA63 BotM0Z6WTHoD7GMEg3bQGzHRe7sP68zTnpgm0pimRwZmnBH5wdPqPjhOVYchdgaYklXn X7434bWsmELhjeFOroFrbSRVhBhDxoQhStpkH8j8PkA46LtqpUBck/JrecsuRAHZWtxS FIjMW74Q7wx42pzChCS2ikxevVumG9HrweCMdG1PFvppFkZL1BQ53NMSWSyfsLk+xv20 S9+aOXlEITkrQHpPyZ6yNl/KECODhhYH5BOYB0GRYhMNfpuEnIZ+5scDk0PiADhCx4Lg 65GQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to:cc; bh=NHoW1KcI1WerOGNV6n5qtGiO0Ys5A4fvXkcifyVHwpU=; b=YrvuQhKSUGFf/OgJw6c3cv2DT4SPN36Cpg59s0dDpezFGHLhgy/UKcwOPjU2B4e0P9 UebwB/jjq/P6Et+HX9Vw9e3sKtYrpJuqSrXAelMdoDCbeVE1cc+s10/A1PhW0MbUXOrW wKhEuDx6h7ihyRqTM4W5U/11ghAFEPSFLRVteU/2zkiY0xB0+fJUL0Cr2NF29TiGeF9m fUAoB/dOyPq04v1VEF9mhZaFHvBfMyJRC/jgsielz7TWnfw4N/ewnqohI6nLdg4rcF8z fF/NqrjnjXBM9FNbZeXcnFMqSPR0Nn7SIyYs+HyhVhivSCjgMNsBt57k9eopqX31yOMZ yP0Q== X-Gm-Message-State: AMCzsaWgaqCCYKrHx2sJ/5Ad2KBBoD0kWPttxfKqPPW6s60VLw/q4bW0 syWQsD8ehKKs1bMDDHstwLhqnmnbgBFaLWYo6z0fuQ== X-Google-Smtp-Source: ABhQp+TGwqZ9sXve1FUluYOiSPsv27MrSCodKpEURC6FJVcodS/7AYS39NsTSqc0npqt5Mnu03UXsYRoBrJhdEqhiUs= X-Received: by 10.107.143.20 with SMTP id r20mr6083280iod.205.1509527267319; Wed, 01 Nov 2017 02:07:47 -0700 (PDT) MIME-Version: 1.0 Received: by 10.79.145.213 with HTTP; Wed, 1 Nov 2017 02:07:26 -0700 (PDT) From: Thiebaud Weksteen Date: Wed, 1 Nov 2017 10:07:26 +0100 Message-ID: To: python-dev@python.org Cc: edk2-devel@lists.01.org Subject: Official port of Python on EDK2 X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Nov 2017 09:03:56 -0000 Content-Type: text/plain; charset="UTF-8" Hi, UEFI has become the standard for firmware (BIOS) interface. Intel has provided an open source implementation under the name EDK2 (part of the TianoCore initiative) [1] for some time. This implementation has evolved significantly and now provides the functionalities of a small OS with a standard library similar to POSIX. In 2011, a port of Python 2.7.1 was added to the EDK2 repository [2]. This port then evolved to 2.7.2 which is still defined as the reference port [3]. In 2015, another port was added of Python 2.7.10 in parallel of 2.7.2 [4]. Since then, both implementations have diverged from upstream and know vulnerabilities have not been fixed. I would like to bring support for edk2 in the official Python repository to remediate this situation, that is officially support edk2 as a platform. Technically, there would be three main aspects for the on-boarding work: 1) Fix headers and source to resolve definition conflicts, similarly to ABS definition in [5]; 2) Add the edk2module.c [6] to handle platform-specific functionalities, similarly to the posixmodule.c; 3) Add the build configuration file [7] and necessary modifications within Python to handle the edk2 toolchain; This work would target the master branch (that is Python 3). I would be interested in hearing your thoughts on this idea. Thanks, Thiebaud [1] https://github.com/tianocore/edk2 [2] https://github.com/tianocore/edk2/commit/006fecd5a177b4b7b6b36fab6690bf2b2fa11829 [3] https://github.com/tianocore/edk2/blob/master/AppPkg/Applications/Python/PythonReadMe.txt [4] https://github.com/tianocore/edk2/commit/c8042e10763bca064df257547d04ae3dfcdfaf91 [5] https://gist.github.com/tweksteen/ed516ca7ab7dfa8d18428f59d9c22a3e [6] https://github.com/tianocore/edk2/blob/master/AppPkg/Applications/Python/Efi/edk2module.c [7] https://github.com/tianocore/edk2/blob/master/AppPkg/Applications/Python/PythonCore.inf