[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 2/2] xen/bug: Complete outstanding TODO
- To: Xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxxx>
- From: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
- Date: Fri, 15 Dec 2023 18:14:33 +0000
- Authentication-results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
- Cc: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, George Dunlap <George.Dunlap@xxxxxxxxxx>, Jan Beulich <JBeulich@xxxxxxxx>, "Stefano Stabellini" <sstabellini@xxxxxxxxxx>, Wei Liu <wl@xxxxxxx>, Julien Grall <julien@xxxxxxx>, Federico Serafini <federico.serafini@xxxxxxxxxxx>
- Delivery-date: Fri, 15 Dec 2023 18:14:59 +0000
- Ironport-data: A9a23:XGSj6a6fi73/StDlUAnVvwxRtDDHchMFZxGqfqrLsTDasY5as4F+v jEZWjzSPv2INGLweIwkYYS39E1U757WxoJjTwE5qis8Hi5G8cbLO4+Ufxz6V8+wwm8vb2o8t plDNYOQRCwQZiWBzvt4GuG59RGQ7YnRG/ykTraCY3gtLeNdYH9JoQp5nOIkiZJfj9G8Agec0 fv/uMSaM1K+s9JOGjt8B5mr9lU34JwehBtC5gZlPKoS4QeE/5UoJMl3yZ+ZfiOQrrZ8RoZWd 86bpJml82XQ+QsaC9/Nut4XpWVTH9Y+lSDX4pZnc/DKbipq/0Te4Y5iXBYoUm9Fii3hojxE4 I4lWapc6+seFvakdOw1C3G0GszlVEFM0OevzXOX6aR/w6BaGpdFLjoH4EweZOUlFuhL7W5m2 PYWBzcJNAC5u7yK7qymb9E1ucMbM5y+VG8fkikIITDxCP8nRdbIQrnQ5M8e1zA17ixMNa+AP YxDM2MpNUmRJUIXUrsUIMtWcOOAr3/zaTBH7nmSorI6+TP7xw1tyrn9dtHSf7RmQO0MxBbI/ zmdpDmR7hcyaY2A0xOkrnaXqOb1wRikRcEqDY2y+as/6LGU7jNKU0BHPbehmtGph0j7V99BJ kg8/is1sbN05EGtVsP6XRCzvDiDpBF0c/h6HvA+6QqN4rHJ+AvfDW8BJhZac8AvvsIyQT0s1 3eKksnvCDgpt6eaIVqC8p+EoDX0PjIaRUcAeCsFQA0t89Tl5oYpgXrnQNtvHbS0hdqzAjzqy j6LqikWjagclsMN2OOw+lWvvt63jsGXFEhvvFyRBz/0qFwhDGK4W2C2wXXR49lHKNyJdGXfg FYahu2mtd8JNY7YwURhX94x8KGVC+etaWKE2wM+RcJ9p1yQF2ifkZe8CQySxXuF0e5eIFcFm GeJ5WtsCGZ7ZRNGl5NfbYOrENgNxqP9D9njXf28RoMROsIsK17fonAzNRH4M4XRfK8EyPBXB HtmWZz0USZy5VpPlWLeqxghPU8DmXllmDK7qWHTxBW7y7uODEN5up9cWGZimtsRtfveyC2Mq oY3Cid/40kHOAEISnWNoNF7wJFjBSRTOK0aXOQKJrfYelQ5RzFJ5j246epJRrGJVp99zo/gl kxRkGcBoLYjrRUr8Tm3V00=
- Ironport-hdrordr: A9a23:3x4eZq8tOSPbjELZWvluk+DgI+orL9Y04lQ7vn2YSXRuHPBw8P re+sjztCWE8Ar5N0tBpTntAsW9qDbnhPtICOoqTNCftWvdyQiVxehZhOOIqVDd8m/Fh4pgPM 9bAtFD4bbLbGSS4/yU3ODBKadD/OW6
- List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
Since this TODO was written, BUILD_BUG_ON() has been moved out of xen/lib.h
into xen/macros.h, which has done all the hard work.
Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
---
CC: George Dunlap <George.Dunlap@xxxxxxxxxx>
CC: Jan Beulich <JBeulich@xxxxxxxx>
CC: Stefano Stabellini <sstabellini@xxxxxxxxxx>
CC: Wei Liu <wl@xxxxxxx>
CC: Julien Grall <julien@xxxxxxx>
CC: Federico Serafini <federico.serafini@xxxxxxxxxxx>
---
xen/include/xen/bug.h | 16 +++++++---------
1 file changed, 7 insertions(+), 9 deletions(-)
diff --git a/xen/include/xen/bug.h b/xen/include/xen/bug.h
index cb5138410ea7..8cca4486a477 100644
--- a/xen/include/xen/bug.h
+++ b/xen/include/xen/bug.h
@@ -20,7 +20,8 @@
#define BUG_DEBUGGER_TRAP_FATAL(regs) 0
#endif
-#include <xen/lib.h>
+#include <xen/macros.h>
+#include <xen/types.h>
#ifndef BUG_FRAME_STRUCT
@@ -104,14 +105,11 @@ typedef void bug_fn_t(const struct cpu_user_regs *regs);
#ifndef run_in_exception_handler
-/*
- * TODO: untangle header dependences, break BUILD_BUG_ON() out of xen/lib.h,
- * and use a real static inline here to get proper type checking of fn().
- */
-#define run_in_exception_handler(fn) do { \
- (void)((fn) == (void (*)(struct cpu_user_regs *))NULL); \
- BUG_FRAME(BUGFRAME_run_fn, 0, fn, 0, NULL); \
-} while ( false )
+static void always_inline run_in_exception_handler(
+ void (*fn)(struct cpu_user_regs *regs))
+{
+ BUG_FRAME(BUGFRAME_run_fn, 0, fn, 0, NULL);
+}
#endif /* run_in_exception_handler */
--
2.30.2
|