/*
  * Maximum number of hw breakpoint supported on powerpc. Number of
- * breakpoints supported by actual hw might be less than this.
+ * breakpoints supported by actual hw might be less than this, which
+ * is decided at run time in nr_wp_slots().
  */
-#define HBP_NUM_MAX    1
+#define HBP_NUM_MAX    2
 
 #endif /* !__ASSEMBLY__ */
 
 
 #ifndef _PPC_BOOK3S_64_HW_BREAKPOINT_H
 #define _PPC_BOOK3S_64_HW_BREAKPOINT_H
 
+#include <asm/cpu_has_feature.h>
+
 #ifdef __KERNEL__
 struct arch_hw_breakpoint {
        unsigned long   address;
 
 static inline int nr_wp_slots(void)
 {
-       return HBP_NUM_MAX;
+       return cpu_has_feature(CPU_FTR_DAWR1) ? 2 : 1;
 }
 
 #ifdef CONFIG_HAVE_HW_BREAKPOINT