From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-qt0-x235.google.com (mail-qt0-x235.google.com [IPv6:2607:f8b0:400d:c0d::235]) (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 8EF2B817F0 for ; Thu, 5 Jan 2017 03:16:34 -0800 (PST) Received: by mail-qt0-x235.google.com with SMTP id d45so293819132qta.1 for ; Thu, 05 Jan 2017 03:16:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=cZNVVGi+kbMeBP4JT/CE7YI6++iqHCU2VMHleg6yV+4=; b=HIHdlrsASKsUyZD3g2Fq8z6Ot8NpwbzdBEdl/RdmT6sibV/U+DyXAZtbWZsPSIzcKP UkXKwboHfqBnxxOjcBx+WzfpJ9H9OcK/u2GgbGRC0ssgchW4r5h4r8+DK9RWLxXwIkk5 MH2j18fgkHPBLzUsy64KDEvQFX9hc+/P1EyrZCEez2d8pfUB0RIXs3x0cfM3NAImnGjK cIQ0iS9kUh5OP0EzFkNOTqaJzVFudhBIu995BZkUO8yS3rQe4ilulQnYjIqEzdNll5yL OuFIzeSdEkXGQ+7hJuMVb1k6gIpf5Mi5DkbLGaQJn9gKXV2su6L5hhw4NTbs8I+3DbJF jx3g== 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; bh=cZNVVGi+kbMeBP4JT/CE7YI6++iqHCU2VMHleg6yV+4=; b=JZ/jzhZ+uQ+CpG40/Vy4W2S9PfrXoV7Z3yP+QW0KWm3U9X78s+qWhSmW4Rl2skEUvi I5fN565BM86D3AYnc4MpbSRssacJNzrQLA2ZoHVcRMkngv4JrATwfoiABFiTeZcxe9UB 0woZfIYnnYKoQ5zQRCWiChyGGOKYcEVvpQWOOWgDkGCGTpJDzmNhWdMkqVU78aqbdTn5 EgRb5QAYCcy4FDFDF31GQzf24pVoOVC8a/EJM3k8WvOhpfdHeINKuF99Xwm9PKGG7wVi Er+pRD8bBSjQsUsnSkhnC+JY/zdGy+Zu2aSmexQV5O689SRBLIUBN7ppKXgRn1ybGm9d /B9g== X-Gm-Message-State: AIkVDXKBwgJdbRO+b88DWysNX7nKqqP2G3v6BQ/T/bk6fNoYF/dCH94RhppQCWqjpi+jMEz1z/hxrL4hfDlOZg== X-Received: by 10.200.34.212 with SMTP id g20mr69189714qta.243.1483614993384; Thu, 05 Jan 2017 03:16:33 -0800 (PST) MIME-Version: 1.0 From: Rafael Machado Date: Thu, 05 Jan 2017 11:16:22 +0000 Message-ID: To: "edk2-devel@lists.01.org" X-Content-Filtered-By: Mailman/MimeDel 2.1.21 Subject: Question about OS initialization at UEFI firmware (x86) X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 05 Jan 2017 11:16:34 -0000 Content-Type: text/plain; charset=UTF-8 Hi everyone I was taking a look at how the OS boots after the firmware and bootloader are done. To understand this I started to take a look at the linux source code, and the strange is that I saw some bios legacy interrupts being called. The flow I checked is this: void main(void) --> linux/arch/x86/boot/main.c int detect_memory(void) --> linux/arch/x86/boot/memory.c static int detect_memory_e820(void) --> linux/arch/x86/boot/memory.c intcall(0x15, &ireg, &oreg) --> linux/arch/x86/boot/memory.c At the last call the value of ireg is this one: ireg.ax = 0xe820; ireg.cx = sizeof buf; ireg.edx = SMAP; ireg.di = (size_t)&buf; As we can see this is done so the OS knows the memory map, so the OS can do all its magic. Finally, my question is: How could linux, or any other OS, boot on a system with UEFI firmware that does not have CSM (compatibility support module) ? I consider that some parts of the hypothetical OS need to be written to call some UEFI protocols. Am I right ? Thanks and Regards Rafael R. Machado