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

From: Tim Gardner
Date: Fri Jan 04 2013 - 11:42:51 EST


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-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/