Re: [RFC PATCH 1/2] efi: Make 'efi_enabled' a function to query EFI facilities

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 01/04/2013 09:15 AM, Matt Fleming wrote:
On Fri, 2013-01-04 at 08:08 -0700, Tim Gardner wrote:
On 01/03/2013 06:18 AM, Matt Fleming wrote:
From: Matt Fleming <matt.fleming@xxxxxxxxx>


snip

  /*
- * We play games with efi_enabled so that the compiler will, if possible, remove
- * EFI-related code altogether.
+ * We play games with efi_enabled so that the compiler will, if
+ * possible, remove EFI-related code altogether.
   */
+#define EFI_BOOT		0x00000001 /* Were we booted from EFI? */
+#define EFI_SYSTEM_TABLES	0x00000002 /* Can we use EFI system tables? */
+#define EFI_CONFIG_TABLES	0x00000004 /* Can we use EFI config tables? */
+#define EFI_RUNTIME_SERVICES	0x00000004 /* Can we use runtime services? */
+#define EFI_MEMMAP		0x00000008 /* Can we use EFI memory map? */
+#define EFI_64BIT		0x00000010 /* Is the firmware 64-bit? */
+

Your use of test_bit() and set_bit() imply that these macros should be
bit numbers, not bit masks. It'll work until you define a mask with an
integer value greater then 31.

They're not intended to be bitmasks in the sense that no two bits are
set in each constant (and I am aware of the upper limit).

I have no problem changing the above values to bit numbers if that would
be less confusing.


When you do change them to bit numbers you should also note that EFI_CONFIG_TABLES and EFI_RUNTIME_SERVICES have the same value, which I believe is in error.

rtg
--
Tim Gardner tim.gardner@xxxxxxxxxxxxx
--
To unsubscribe from this list: send the line "unsubscribe linux-efi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux