[PATCH 1/1] [ARM] pxa: encode IRQ number into .nr_irqs
Haojian Zhuang
haojian.zhuang at marvell.com
Fri Aug 20 03:23:59 EDT 2010
Signed-off-by: Eric Miao <eric.y.miao at gmail.com>
Signed-off-by: Haojian Zhuang <haojian.zhuang at marvell.com>
---
arch/arm/Kconfig | 1 +
arch/arm/mach-pxa/Kconfig | 17 ----------
arch/arm/mach-pxa/balloon3.c | 1 +
arch/arm/mach-pxa/cm-x2xx.c | 4 ++
arch/arm/mach-pxa/eseries.c | 7 ++++
arch/arm/mach-pxa/ezx.c | 5 +++
arch/arm/mach-pxa/hx4700.c | 1 +
arch/arm/mach-pxa/include/mach/balloon3.h | 2 +
arch/arm/mach-pxa/include/mach/eseries-irq.h | 1 +
arch/arm/mach-pxa/include/mach/hx4700.h | 1 +
arch/arm/mach-pxa/include/mach/irqs.h | 42 ++------------------------
arch/arm/mach-pxa/include/mach/littleton.h | 2 +
arch/arm/mach-pxa/include/mach/lpd270.h | 1 +
arch/arm/mach-pxa/include/mach/lubbock.h | 3 ++
arch/arm/mach-pxa/include/mach/magician.h | 2 +
arch/arm/mach-pxa/include/mach/mainstone.h | 2 +
arch/arm/mach-pxa/include/mach/pcm027.h | 2 +
arch/arm/mach-pxa/include/mach/poodle.h | 2 +
arch/arm/mach-pxa/include/mach/tosa.h | 1 +
arch/arm/mach-pxa/include/mach/zeus.h | 2 +
arch/arm/mach-pxa/include/mach/zylonite.h | 2 +
arch/arm/mach-pxa/littleton.c | 1 +
arch/arm/mach-pxa/lpd270.c | 1 +
arch/arm/mach-pxa/lubbock.c | 3 +-
arch/arm/mach-pxa/magician.c | 1 +
arch/arm/mach-pxa/mainstone.c | 1 +
arch/arm/mach-pxa/pcm027.c | 1 +
arch/arm/mach-pxa/poodle.c | 1 +
arch/arm/mach-pxa/stargate2.c | 3 ++
arch/arm/mach-pxa/tosa.c | 1 +
arch/arm/mach-pxa/zeus.c | 1 +
arch/arm/mach-pxa/zylonite.c | 1 +
32 files changed, 59 insertions(+), 57 deletions(-)
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 9295110..45f93e1 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -588,6 +588,7 @@ config ARCH_PXA
select GENERIC_CLOCKEVENTS
select TICK_ONESHOT
select PLAT_PXA
+ select SPARSE_IRQ
help
Support for Intel/Marvell's PXA2xx/PXA3xx processor line.
diff --git a/arch/arm/mach-pxa/Kconfig b/arch/arm/mach-pxa/Kconfig
index 3d4926e..357cb2f 100644
--- a/arch/arm/mach-pxa/Kconfig
+++ b/arch/arm/mach-pxa/Kconfig
@@ -8,19 +8,16 @@ config ARCH_LUBBOCK
bool "Intel DBPXA250 Development Platform (aka Lubbock)"
select PXA25x
select SA1111
- select PXA_HAVE_BOARD_IRQS
config MACH_MAINSTONE
bool "Intel HCDDBBVA0 Development Platform (aka Mainstone)"
select PXA27x
select HAVE_PWM
- select PXA_HAVE_BOARD_IRQS
config MACH_ZYLONITE
bool
select PXA3xx
select HAVE_PWM
- select PXA_HAVE_BOARD_IRQS
config MACH_ZYLONITE300
bool "PXA3xx Development Platform (aka Zylonite) PXA300/310"
@@ -61,7 +58,6 @@ config ARCH_VIPER
select ISA
select I2C_GPIO
select HAVE_PWM
- select PXA_HAVE_BOARD_IRQS
select PXA_HAVE_ISA_IRQS
select ARCOM_PCMCIA
@@ -69,7 +65,6 @@ config MACH_ARCOM_ZEUS
bool "Arcom/Eurotech ZEUS SBC"
select PXA27x
select ISA
- select PXA_HAVE_BOARD_IRQS
select PXA_HAVE_ISA_IRQS
select ARCOM_PCMCIA
@@ -77,7 +72,6 @@ config MACH_BALLOON3
bool "Balloon 3 board"
select PXA27x
select IWMMXT
- select PXA_HAVE_BOARD_IRQS
config MACH_CSB726
bool "Enable Cogent CSB726 System On a Module"
@@ -140,13 +134,11 @@ config MACH_INTELMOTE2
bool "Intel Mote 2 Platform"
select PXA27x
select IWMMXT
- select PXA_HAVE_BOARD_IRQS
config MACH_STARGATE2
bool "Intel Stargate 2 Platform"
select PXA27x
select IWMMXT
- select PXA_HAVE_BOARD_IRQS
config MACH_XCEP
bool "Iskratel Electronics XCEP"
@@ -206,13 +198,11 @@ config MACH_LOGICPD_PXA270
bool "LogicPD PXA270 Card Engine Development Platform"
select PXA27x
select HAVE_PWM
- select PXA_HAVE_BOARD_IRQS
config MACH_PCM027
bool "Phytec phyCORE-PXA270 CPU module (PCM-027)"
select PXA27x
select IWMMXT
- select PXA_HAVE_BOARD_IRQS
config MACH_PCM990_BASEBOARD
bool "PHYTEC PCM-990 development board"
@@ -478,7 +468,6 @@ config MACH_POODLE
depends on PXA_SHARPSL
select PXA25x
select SHARP_LOCOMO
- select PXA_HAVE_BOARD_IRQS
config MACH_CORGI
bool "Enable Sharp SL-C700 (Corgi) Support"
@@ -523,7 +512,6 @@ config MACH_TOSA
bool "Enable Sharp SL-6000x (Tosa) Support"
depends on PXA_SHARPSL
select PXA25x
- select PXA_HAVE_BOARD_IRQS
config TOSA_BT
tristate "Control the state of built-in bluetooth chip on Sharp SL-6000"
@@ -552,7 +540,6 @@ config MACH_ICONTROL
config ARCH_PXA_ESERIES
bool "PXA based Toshiba e-series PDAs"
select PXA25x
- select PXA_HAVE_BOARD_IRQS
config MACH_E330
bool "Toshiba e330"
@@ -606,7 +593,6 @@ config MACH_ZIPIT2
bool "Zipit Z2 Handheld"
select PXA27x
select HAVE_PWM
- select PXA_HAVE_BOARD_IRQS
endmenu
@@ -693,9 +679,6 @@ config SHARPSL_PM_MAX1111
select HWMON
select SENSORS_MAX1111
-config PXA_HAVE_BOARD_IRQS
- bool
-
config PXA_HAVE_ISA_IRQS
bool
diff --git a/arch/arm/mach-pxa/balloon3.c b/arch/arm/mach-pxa/balloon3.c
index 9041340..2b81e64 100644
--- a/arch/arm/mach-pxa/balloon3.c
+++ b/arch/arm/mach-pxa/balloon3.c
@@ -779,6 +779,7 @@ MACHINE_START(BALLOON3, "Balloon3")
.phys_io = 0x40000000,
.io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc,
.map_io = balloon3_map_io,
+ .nr_irqs = BALLOON3_NR_IRQS,
.init_irq = balloon3_init_irq,
.timer = &pxa_timer,
.init_machine = balloon3_init,
diff --git a/arch/arm/mach-pxa/cm-x2xx.c b/arch/arm/mach-pxa/cm-x2xx.c
index bff6e78..ad40e7b 100644
--- a/arch/arm/mach-pxa/cm-x2xx.c
+++ b/arch/arm/mach-pxa/cm-x2xx.c
@@ -33,6 +33,9 @@
extern void cmx255_init(void);
extern void cmx270_init(void);
+/* reserve IRQs for IT8152 */
+#define CMX2XX_NR_IRQS (IRQ_BOARD_START + 40)
+
/* virtual addresses for statically mapped regions */
#define CMX2XX_VIRT_BASE (0xe8000000)
#define CMX2XX_IT8152_VIRT (CMX2XX_VIRT_BASE)
@@ -514,6 +517,7 @@ MACHINE_START(ARMCORE, "Compulab CM-X2XX")
.phys_io = 0x40000000,
.io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc,
.map_io = cmx2xx_map_io,
+ .nr_irqs = CMX2XX_NR_IRQS,
.init_irq = cmx2xx_init_irq,
.timer = &pxa_timer,
.init_machine = cmx2xx_init,
diff --git a/arch/arm/mach-pxa/eseries.c b/arch/arm/mach-pxa/eseries.c
index 349212a..4971ce1 100644
--- a/arch/arm/mach-pxa/eseries.c
+++ b/arch/arm/mach-pxa/eseries.c
@@ -29,6 +29,7 @@
#include <mach/pxa25x.h>
#include <mach/eseries-gpio.h>
+#include <mach/eseries-irq.h>
#include <mach/audio.h>
#include <mach/pxafb.h>
#include <mach/udc.h>
@@ -183,6 +184,7 @@ MACHINE_START(E330, "Toshiba e330")
.io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc,
.boot_params = 0xa0000100,
.map_io = pxa_map_io,
+ .nr_irqs = ESERIES_NR_IRQS,
.init_irq = pxa25x_init_irq,
.fixup = eseries_fixup,
.init_machine = e330_init,
@@ -233,6 +235,7 @@ MACHINE_START(E350, "Toshiba e350")
.io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc,
.boot_params = 0xa0000100,
.map_io = pxa_map_io,
+ .nr_irqs = ESERIES_NR_IRQS,
.init_irq = pxa25x_init_irq,
.fixup = eseries_fixup,
.init_machine = e350_init,
@@ -356,6 +359,7 @@ MACHINE_START(E400, "Toshiba e400")
.io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc,
.boot_params = 0xa0000100,
.map_io = pxa_map_io,
+ .nr_irqs = ESERIES_NR_IRQS,
.init_irq = pxa25x_init_irq,
.fixup = eseries_fixup,
.init_machine = e400_init,
@@ -545,6 +549,7 @@ MACHINE_START(E740, "Toshiba e740")
.io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc,
.boot_params = 0xa0000100,
.map_io = pxa_map_io,
+ .nr_irqs = ESERIES_NR_IRQS,
.init_irq = pxa25x_init_irq,
.fixup = eseries_fixup,
.init_machine = e740_init,
@@ -737,6 +742,7 @@ MACHINE_START(E750, "Toshiba e750")
.io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc,
.boot_params = 0xa0000100,
.map_io = pxa_map_io,
+ .nr_irqs = ESERIES_NR_IRQS,
.init_irq = pxa25x_init_irq,
.fixup = eseries_fixup,
.init_machine = e750_init,
@@ -933,6 +939,7 @@ MACHINE_START(E800, "Toshiba e800")
.io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc,
.boot_params = 0xa0000100,
.map_io = pxa_map_io,
+ .nr_irqs = ESERIES_NR_IRQS,
.init_irq = pxa25x_init_irq,
.fixup = eseries_fixup,
.init_machine = e800_init,
diff --git a/arch/arm/mach-pxa/ezx.c b/arch/arm/mach-pxa/ezx.c
index 626c82b..67dd3b7 100644
--- a/arch/arm/mach-pxa/ezx.c
+++ b/arch/arm/mach-pxa/ezx.c
@@ -38,6 +38,8 @@
#include "devices.h"
#include "generic.h"
+#define EZX_NR_IRQS (IRQ_BOARD_START + 24)
+
#define GPIO12_A780_FLIP_LID 12
#define GPIO15_A1200_FLIP_LID 15
#define GPIO15_A910_FLIP_LID 15
@@ -1124,6 +1126,7 @@ MACHINE_START(EZX_A910, "Motorola EZX A910")
.io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc,
.boot_params = 0xa0000100,
.map_io = pxa_map_io,
+ .nr_irqs = EZX_NR_IRQS,
.init_irq = pxa27x_init_irq,
.timer = &pxa_timer,
.init_machine = a910_init,
@@ -1190,6 +1193,7 @@ MACHINE_START(EZX_E6, "Motorola EZX E6")
.io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc,
.boot_params = 0xa0000100,
.map_io = pxa_map_io,
+ .nr_irqs = EZX_NR_IRQS,
.init_irq = pxa27x_init_irq,
.timer = &pxa_timer,
.init_machine = e6_init,
@@ -1230,6 +1234,7 @@ MACHINE_START(EZX_E2, "Motorola EZX E2")
.io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc,
.boot_params = 0xa0000100,
.map_io = pxa_map_io,
+ .nr_irqs = EZX_NR_IRQS,
.init_irq = pxa27x_init_irq,
.timer = &pxa_timer,
.init_machine = e2_init,
diff --git a/arch/arm/mach-pxa/hx4700.c b/arch/arm/mach-pxa/hx4700.c
index 848c861..10104f1 100644
--- a/arch/arm/mach-pxa/hx4700.c
+++ b/arch/arm/mach-pxa/hx4700.c
@@ -874,6 +874,7 @@ MACHINE_START(H4700, "HP iPAQ HX4700")
.io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc,
.boot_params = 0xa0000100,
.map_io = pxa_map_io,
+ .nr_irqs = HX4700_NR_IRQS,
.init_irq = pxa27x_init_irq,
.init_machine = hx4700_init,
.timer = &pxa_timer,
diff --git a/arch/arm/mach-pxa/include/mach/balloon3.h
b/arch/arm/mach-pxa/include/mach/balloon3.h
index eec92e6..561562b 100644
--- a/arch/arm/mach-pxa/include/mach/balloon3.h
+++ b/arch/arm/mach-pxa/include/mach/balloon3.h
@@ -174,6 +174,8 @@ enum balloon3_features {
#define BALLOON3_CODEC_IRQ IRQ_GPIO(BALLOON3_GPIO_CODEC_IRQ)
#define BALLOON3_S0_CD_IRQ IRQ_GPIO(BALLOON3_GPIO_S0_CD)
+#define BALLOON3_NR_IRQS (IRQ_BOARD_START + 4)
+
extern int balloon3_has(enum balloon3_features feature);
#endif
diff --git a/arch/arm/mach-pxa/include/mach/eseries-irq.h
b/arch/arm/mach-pxa/include/mach/eseries-irq.h
index f2a93d5..de292b2 100644
--- a/arch/arm/mach-pxa/include/mach/eseries-irq.h
+++ b/arch/arm/mach-pxa/include/mach/eseries-irq.h
@@ -25,3 +25,4 @@
#define TMIO_SD_IRQ IRQ_TMIO(1)
#define TMIO_USB_IRQ IRQ_TMIO(2)
+#define ESERIES_NR_IRQS (IRQ_BOARD_START + 16)
diff --git a/arch/arm/mach-pxa/include/mach/hx4700.h
b/arch/arm/mach-pxa/include/mach/hx4700.h
index 9eaeed1..3740844 100644
--- a/arch/arm/mach-pxa/include/mach/hx4700.h
+++ b/arch/arm/mach-pxa/include/mach/hx4700.h
@@ -17,6 +17,7 @@
#define HX4700_ASIC3_GPIO_BASE NR_BUILTIN_GPIO
#define HX4700_EGPIO_BASE (HX4700_ASIC3_GPIO_BASE + ASIC3_NUM_GPIOS)
+#define HX4700_NR_IRQS (IRQ_BOARD_START + 70)
/*
* PXA GPIOs
diff --git a/arch/arm/mach-pxa/include/mach/irqs.h
b/arch/arm/mach-pxa/include/mach/irqs.h
index ffc8314..d372caa 100644
--- a/arch/arm/mach-pxa/include/mach/irqs.h
+++ b/arch/arm/mach-pxa/include/mach/irqs.h
@@ -117,48 +117,12 @@
/*
* The following interrupts are for board specific purposes. Since
* the kernel can only run on one machine at a time, we can re-use
- * these. There will be 16 IRQs by default. If it is not enough,
- * IRQ_BOARD_END is allowed be customized for each board, but keep
- * the numbers within sensible limits and in descending order, so
- * when multiple config options are selected, the maximum will be
- * used.
+ * these.
+ * By default, no board IRQ is reserved. It should be finished in
+ * custom board since sparse IRQ is already enabled.
*/
#define IRQ_BOARD_START (PXA_GPIO_IRQ_BASE + PXA_GPIO_IRQ_NUM)
-#if defined(CONFIG_MACH_H4700)
-#define IRQ_BOARD_END (IRQ_BOARD_START + 70)
-#elif defined(CONFIG_MACH_ZYLONITE)
-#define IRQ_BOARD_END (IRQ_BOARD_START + 32)
-#elif defined(CONFIG_PXA_EZX)
-#define IRQ_BOARD_END (IRQ_BOARD_START + 23)
-#else
-#define IRQ_BOARD_END (IRQ_BOARD_START + 16)
-#endif
-
-/*
- * Figure out the MAX IRQ number.
- *
- * If we have an SA1111, the max IRQ is S1_BVD1_STSCHG+1.
- * If we have an LoCoMo, the max IRQ is IRQ_LOCOMO_SPI_TEND+1
- * Otherwise, we have the standard IRQs only.
- */
-#ifdef CONFIG_SA1111
-#define NR_IRQS (IRQ_BOARD_END + 55)
-#elif defined(CONFIG_PXA_HAVE_BOARD_IRQS)
-#define NR_IRQS (IRQ_BOARD_END)
-#else
#define NR_IRQS (IRQ_BOARD_START)
-#endif
-
-/* add IT8152 IRQs beyond BOARD_END */
-#ifdef CONFIG_PCI_HOST_ITE8152
-#define IT8152_LAST_IRQ (IRQ_BOARD_END + 40)
-
-#if NR_IRQS < (IT8152_LAST_IRQ+1)
-#undef NR_IRQS
-#define NR_IRQS (IT8152_LAST_IRQ+1)
-#endif
-
-#endif /* CONFIG_PCI_HOST_ITE8152 */
#endif /* __ASM_MACH_IRQS_H */
diff --git a/arch/arm/mach-pxa/include/mach/littleton.h
b/arch/arm/mach-pxa/include/mach/littleton.h
index 6c9b21c..2a5726c 100644
--- a/arch/arm/mach-pxa/include/mach/littleton.h
+++ b/arch/arm/mach-pxa/include/mach/littleton.h
@@ -10,4 +10,6 @@
#define EXT0_GPIO_BASE (NR_BUILTIN_GPIO)
#define EXT0_GPIO(x) (EXT0_GPIO_BASE + (x))
+#define LITTLETON_NR_IRQS (IRQ_BOARD_START + 8)
+
#endif /* __ASM_ARCH_LITTLETON_H */
diff --git a/arch/arm/mach-pxa/include/mach/lpd270.h
b/arch/arm/mach-pxa/include/mach/lpd270.h
index 0e6440c..cd07009 100644
--- a/arch/arm/mach-pxa/include/mach/lpd270.h
+++ b/arch/arm/mach-pxa/include/mach/lpd270.h
@@ -38,5 +38,6 @@
#define LPD270_USBC_IRQ LPD270_IRQ(2)
#define LPD270_ETHERNET_IRQ LPD270_IRQ(3)
#define LPD270_AC97_IRQ LPD270_IRQ(4)
+#define LPD270_NR_IRQS (IRQ_BOARD_START + 5)
#endif
diff --git a/arch/arm/mach-pxa/include/mach/lubbock.h
b/arch/arm/mach-pxa/include/mach/lubbock.h
index a0d4247..2a086e8 100644
--- a/arch/arm/mach-pxa/include/mach/lubbock.h
+++ b/arch/arm/mach-pxa/include/mach/lubbock.h
@@ -45,6 +45,9 @@
#define LUBBOCK_USB_DISC_IRQ LUBBOCK_IRQ(6) /* usb disconnect */
#define LUBBOCK_LAST_IRQ LUBBOCK_IRQ(6)
+#define LUBBOCK_SA1111_IRQ_BASE (IRQ_BOARD_START + 16)
+#define LUBBOCK_NR_IRQS (IRQ_BOARD_START + 16 + 55)
+
#ifndef __ASSEMBLY__
extern void lubbock_set_misc_wr(unsigned int mask, unsigned int set);
#endif
diff --git a/arch/arm/mach-pxa/include/mach/magician.h
b/arch/arm/mach-pxa/include/mach/magician.h
index 20ef37d..0a2efcf 100644
--- a/arch/arm/mach-pxa/include/mach/magician.h
+++ b/arch/arm/mach-pxa/include/mach/magician.h
@@ -71,6 +71,8 @@
#define IRQ_MAGICIAN_BT (IRQ_BOARD_START + 2)
#define IRQ_MAGICIAN_VBUS (IRQ_BOARD_START + 3)
+#define MAGICIAN_NR_IRQS (IRQ_BOARD_START + 8)
+
/*
* CPLD EGPIOs
*/
diff --git a/arch/arm/mach-pxa/include/mach/mainstone.h
b/arch/arm/mach-pxa/include/mach/mainstone.h
index 86e623a..4c2d11c 100644
--- a/arch/arm/mach-pxa/include/mach/mainstone.h
+++ b/arch/arm/mach-pxa/include/mach/mainstone.h
@@ -134,4 +134,6 @@
#define MAINSTONE_S1_STSCHG_IRQ MAINSTONE_IRQ(14)
#define MAINSTONE_S1_IRQ MAINSTONE_IRQ(15)
+#define MAINSTONE_NR_IRQS (IRQ_BOARD_START + 16)
+
#endif
diff --git a/arch/arm/mach-pxa/include/mach/pcm027.h
b/arch/arm/mach-pxa/include/mach/pcm027.h
index 0408326..4bac588 100644
--- a/arch/arm/mach-pxa/include/mach/pcm027.h
+++ b/arch/arm/mach-pxa/include/mach/pcm027.h
@@ -30,6 +30,8 @@
#define PCM027_MMCDET_IRQ PCM027_IRQ(2)
#define PCM027_PM_5V_IRQ PCM027_IRQ(3)
+#define PCM027_NR_IRQS (IRQ_BOARD_START + 32)
+
/* I2C RTC */
#define PCM027_RTC_IRQ_GPIO 0
#define PCM027_RTC_IRQ IRQ_GPIO(PCM027_RTC_IRQ_GPIO)
diff --git a/arch/arm/mach-pxa/include/mach/poodle.h
b/arch/arm/mach-pxa/include/mach/poodle.h
index 0b3e6d0..83d1cfd 100644
--- a/arch/arm/mach-pxa/include/mach/poodle.h
+++ b/arch/arm/mach-pxa/include/mach/poodle.h
@@ -85,6 +85,8 @@
#define POODLE_LOCOMO_GPIO_232VCC_ON LOCOMO_GPIO(12)
#define POODLE_LOCOMO_GPIO_JK_B LOCOMO_GPIO(13)
+#define POODLE_NR_IRQS (IRQ_BOARD_START + 4) /* 4 for LoCoMo */
+
extern struct platform_device poodle_locomo_device;
#endif /* __ASM_ARCH_POODLE_H */
diff --git a/arch/arm/mach-pxa/include/mach/tosa.h
b/arch/arm/mach-pxa/include/mach/tosa.h
index 1bbd1f2..1272c4b 100644
--- a/arch/arm/mach-pxa/include/mach/tosa.h
+++ b/arch/arm/mach-pxa/include/mach/tosa.h
@@ -20,6 +20,7 @@
/* Jacket Scoop */
#define TOSA_SCOOP_PHYS (PXA_CS5_PHYS + 0x00800000)
+#define TOSA_NR_IRQS (IRQ_BOARD_START + TC6393XB_NR_IRQS)
/*
* SCOOP2 internal GPIOs
*/
diff --git a/arch/arm/mach-pxa/include/mach/zeus.h
b/arch/arm/mach-pxa/include/mach/zeus.h
index 6e11997..faa408a 100644
--- a/arch/arm/mach-pxa/include/mach/zeus.h
+++ b/arch/arm/mach-pxa/include/mach/zeus.h
@@ -15,6 +15,8 @@
#ifndef _MACH_ZEUS_H
#define _MACH_ZEUS_H
+#define ZEUS_NR_IRQS (IRQ_BOARD_START + 48)
+
/* Physical addresses */
#define ZEUS_FLASH_PHYS PXA_CS0_PHYS
#define ZEUS_ETH0_PHYS PXA_CS1_PHYS
diff --git a/arch/arm/mach-pxa/include/mach/zylonite.h
b/arch/arm/mach-pxa/include/mach/zylonite.h
index 9edf645..ea24998 100644
--- a/arch/arm/mach-pxa/include/mach/zylonite.h
+++ b/arch/arm/mach-pxa/include/mach/zylonite.h
@@ -5,6 +5,8 @@
#define EXT_GPIO(x) (128 + (x))
+#define ZYLONITE_NR_IRQS (IRQ_BOARD_START + 32)
+
/* the following variables are processor specific and initialized
* by the corresponding zylonite_pxa3xx_init()
*/
diff --git a/arch/arm/mach-pxa/littleton.c b/arch/arm/mach-pxa/littleton.c
index 9b90461..83f3236 100644
--- a/arch/arm/mach-pxa/littleton.c
+++ b/arch/arm/mach-pxa/littleton.c
@@ -441,6 +441,7 @@ MACHINE_START(LITTLETON, "Marvell Form Factor
Development Platform (aka Littleto
.boot_params = 0xa0000100,
.io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc,
.map_io = pxa_map_io,
+ .nr_irqs = LITTLETON_NR_IRQS,
.init_irq = pxa3xx_init_irq,
.timer = &pxa_timer,
.init_machine = littleton_init,
diff --git a/arch/arm/mach-pxa/lpd270.c b/arch/arm/mach-pxa/lpd270.c
index d279507..fc9502e 100644
--- a/arch/arm/mach-pxa/lpd270.c
+++ b/arch/arm/mach-pxa/lpd270.c
@@ -509,6 +509,7 @@ MACHINE_START(LOGICPD_PXA270, "LogicPD PXA270 Card Engine")
.io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc,
.boot_params = 0xa0000100,
.map_io = lpd270_map_io,
+ .nr_irqs = LPD270_NR_IRQS,
.init_irq = lpd270_init_irq,
.timer = &pxa_timer,
.init_machine = lpd270_init,
diff --git a/arch/arm/mach-pxa/lubbock.c b/arch/arm/mach-pxa/lubbock.c
index 330c328..1956c23 100644
--- a/arch/arm/mach-pxa/lubbock.c
+++ b/arch/arm/mach-pxa/lubbock.c
@@ -229,7 +229,7 @@ static struct resource sa1111_resources[] = {
};
static struct sa1111_platform_data sa1111_info = {
- .irq_base = IRQ_BOARD_END,
+ .irq_base = LUBBOCK_SA1111_IRQ_BASE,
};
static struct platform_device sa1111_device = {
@@ -560,6 +560,7 @@ MACHINE_START(LUBBOCK, "Intel DBPXA250 Development
Platform (aka Lubbock)")
.phys_io = 0x40000000,
.io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc,
.map_io = lubbock_map_io,
+ .nr_irqs = LUBBOCK_NR_IRQS,
.init_irq = lubbock_init_irq,
.timer = &pxa_timer,
.init_machine = lubbock_init,
diff --git a/arch/arm/mach-pxa/magician.c b/arch/arm/mach-pxa/magician.c
index e81dd0c..42a0c2b 100644
--- a/arch/arm/mach-pxa/magician.c
+++ b/arch/arm/mach-pxa/magician.c
@@ -768,6 +768,7 @@ MACHINE_START(MAGICIAN, "HTC Magician")
.io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc,
.boot_params = 0xa0000100,
.map_io = pxa_map_io,
+ .nr_irqs = MAGICIAN_NR_IRQS,
.init_irq = pxa27x_init_irq,
.init_machine = magician_init,
.timer = &pxa_timer,
diff --git a/arch/arm/mach-pxa/mainstone.c b/arch/arm/mach-pxa/mainstone.c
index 5543c64..c2a8717 100644
--- a/arch/arm/mach-pxa/mainstone.c
+++ b/arch/arm/mach-pxa/mainstone.c
@@ -628,6 +628,7 @@ MACHINE_START(MAINSTONE, "Intel HCDDBBVA0
Development Platform (aka Mainstone)")
.boot_params = 0xa0000100, /* BLOB boot parameter setting */
.io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc,
.map_io = mainstone_map_io,
+ .nr_irqs = MAINSTONE_NR_IRQS,
.init_irq = mainstone_init_irq,
.timer = &pxa_timer,
.init_machine = mainstone_init,
diff --git a/arch/arm/mach-pxa/pcm027.c b/arch/arm/mach-pxa/pcm027.c
index 2190af0..90b08ba 100644
--- a/arch/arm/mach-pxa/pcm027.c
+++ b/arch/arm/mach-pxa/pcm027.c
@@ -262,6 +262,7 @@ MACHINE_START(PCM027, "Phytec Messtechnik GmbH
phyCORE-PXA270")
.phys_io = 0x40000000,
.io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc,
.map_io = pcm027_map_io,
+ .nr_irqs = PCM027_NR_IRQS,
.init_irq = pxa27x_init_irq,
.timer = &pxa_timer,
.init_machine = pcm027_init,
diff --git a/arch/arm/mach-pxa/poodle.c b/arch/arm/mach-pxa/poodle.c
index 55e8fcd..c04e025 100644
--- a/arch/arm/mach-pxa/poodle.c
+++ b/arch/arm/mach-pxa/poodle.c
@@ -469,6 +469,7 @@ MACHINE_START(POODLE, "SHARP Poodle")
.io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc,
.fixup = fixup_poodle,
.map_io = pxa_map_io,
+ .nr_irqs = POODLE_NR_IRQS, /* 4 for LoCoMo */
.init_irq = pxa25x_init_irq,
.timer = &pxa_timer,
.init_machine = poodle_init,
diff --git a/arch/arm/mach-pxa/stargate2.c b/arch/arm/mach-pxa/stargate2.c
index a654d1e..62de073 100644
--- a/arch/arm/mach-pxa/stargate2.c
+++ b/arch/arm/mach-pxa/stargate2.c
@@ -56,6 +56,8 @@
#include "devices.h"
#include "generic.h"
+#define STARGATE_NR_IRQS (IRQ_BOARD_START + 8)
+
/* Bluetooth */
#define SG2_BT_RESET 81
@@ -1011,6 +1013,7 @@ MACHINE_START(STARGATE2, "Stargate 2")
.phys_io = 0x40000000,
.io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc,
.map_io = pxa_map_io,
+ .nr_irqs = STARGATE_NR_IRQS,
.init_irq = pxa27x_init_irq,
.timer = &pxa_timer,
.init_machine = stargate2_init,
diff --git a/arch/arm/mach-pxa/tosa.c b/arch/arm/mach-pxa/tosa.c
index 83cc3a1..3a06e98 100644
--- a/arch/arm/mach-pxa/tosa.c
+++ b/arch/arm/mach-pxa/tosa.c
@@ -956,6 +956,7 @@ MACHINE_START(TOSA, "SHARP Tosa")
.io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc,
.fixup = fixup_tosa,
.map_io = pxa_map_io,
+ .nr_irqs = TOSA_NR_IRQS,
.init_irq = pxa25x_init_irq,
.init_machine = tosa_init,
.timer = &pxa_timer,
diff --git a/arch/arm/mach-pxa/zeus.c b/arch/arm/mach-pxa/zeus.c
index 03b9cb9..9da2b62 100644
--- a/arch/arm/mach-pxa/zeus.c
+++ b/arch/arm/mach-pxa/zeus.c
@@ -904,6 +904,7 @@ MACHINE_START(ARCOM_ZEUS, "Arcom/Eurotech ZEUS")
.io_pg_offst = ((io_p2v(0x40000000) >> 18) & 0xfffc),
.boot_params = 0xa0000100,
.map_io = zeus_map_io,
+ .nr_irqs = ZEUS_NR_IRQS,
.init_irq = zeus_init_irq,
.timer = &pxa_timer,
.init_machine = zeus_init,
diff --git a/arch/arm/mach-pxa/zylonite.c b/arch/arm/mach-pxa/zylonite.c
index c479cbe..2edad61 100644
--- a/arch/arm/mach-pxa/zylonite.c
+++ b/arch/arm/mach-pxa/zylonite.c
@@ -415,6 +415,7 @@ MACHINE_START(ZYLONITE, "PXA3xx Platform
Development Kit (aka Zylonite)")
.boot_params = 0xa0000100,
.io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc,
.map_io = pxa_map_io,
+ .nr_irqs = ZYLONITE_NR_IRQS,
.init_irq = pxa3xx_init_irq,
.timer = &pxa_timer,
.init_machine = zylonite_init,
--
1.5.6.5
--0016e649c9eae341ba048e3d46dc
Content-Type: text/x-patch; charset=US-ASCII;
name="0001--ARM-pxa-encode-IRQ-number-into-.nr_irqs.patch"
Content-Disposition: attachment;
filename="0001--ARM-pxa-encode-IRQ-number-into-.nr_irqs.patch"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_gd2scj8c0
RnJvbSA3ZjY5ZTZlMzFkMmJmMzRiYmYxNTZlOTM4NWRhYmEwODA3OWFhMzhjIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBIYW9qaWFuIFpodWFuZyA8aGFvamlhbi56aHVhbmdAbWFydmVs
bC5jb20+CkRhdGU6IEZyaSwgMjAgQXVnIDIwMTAgMTU6MjM6NTkgKzA4MDAKU3ViamVjdDogW1BB
VENIIDEvMV0gW0FSTV0gcHhhOiBlbmNvZGUgSVJRIG51bWJlciBpbnRvIC5ucl9pcnFzCgpTaWdu
ZWQtb2ZmLWJ5OiBFcmljIE1pYW8gPGVyaWMueS5taWFvQGdtYWlsLmNvbT4KU2lnbmVkLW9mZi1i
eTogSGFvamlhbiBaaHVhbmcgPGhhb2ppYW4uemh1YW5nQG1hcnZlbGwuY29tPgotLS0KIGFyY2gv
YXJtL0tjb25maWcgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgMSArCiBhcmNoL2Fy
bS9tYWNoLXB4YS9LY29uZmlnICAgICAgICAgICAgICAgICAgICB8ICAgMTcgLS0tLS0tLS0tLQog
YXJjaC9hcm0vbWFjaC1weGEvYmFsbG9vbjMuYyAgICAgICAgICAgICAgICAgfCAgICAxICsKIGFy
Y2gvYXJtL21hY2gtcHhhL2NtLXgyeHguYyAgICAgICAgICAgICAgICAgIHwgICAgNCArKwogYXJj
aC9hcm0vbWFjaC1weGEvZXNlcmllcy5jICAgICAgICAgICAgICAgICAgfCAgICA3ICsrKysKIGFy
Y2gvYXJtL21hY2gtcHhhL2V6eC5jICAgICAgICAgICAgICAgICAgICAgIHwgICAgNSArKysKIGFy
Y2gvYXJtL21hY2gtcHhhL2h4NDcwMC5jICAgICAgICAgICAgICAgICAgIHwgICAgMSArCiBhcmNo
L2FybS9tYWNoLXB4YS9pbmNsdWRlL21hY2gvYmFsbG9vbjMuaCAgICB8ICAgIDIgKwogYXJjaC9h
cm0vbWFjaC1weGEvaW5jbHVkZS9tYWNoL2VzZXJpZXMtaXJxLmggfCAgICAxICsKIGFyY2gvYXJt
L21hY2gtcHhhL2luY2x1ZGUvbWFjaC9oeDQ3MDAuaCAgICAgIHwgICAgMSArCiBhcmNoL2FybS9t
YWNoLXB4YS9pbmNsdWRlL21hY2gvaXJxcy5oICAgICAgICB8ICAgNDIgKystLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0KIGFyY2gvYXJtL21hY2gtcHhhL2luY2x1ZGUvbWFjaC9saXR0bGV0b24uaCAg
IHwgICAgMiArCiBhcmNoL2FybS9tYWNoLXB4YS9pbmNsdWRlL21hY2gvbHBkMjcwLmggICAgICB8
ICAgIDEgKwogYXJjaC9hcm0vbWFjaC1weGEvaW5jbHVkZS9tYWNoL2x1YmJvY2suaCAgICAgfCAg
ICAzICsrCiBhcmNoL2FybS9tYWNoLXB4YS9pbmNsdWRlL21hY2gvbWFnaWNpYW4uaCAgICB8ICAg
IDIgKwogYXJjaC9hcm0vbWFjaC1weGEvaW5jbHVkZS9tYWNoL21haW5zdG9uZS5oICAgfCAgICAy
ICsKIGFyY2gvYXJtL21hY2gtcHhhL2luY2x1ZGUvbWFjaC9wY20wMjcuaCAgICAgIHwgICAgMiAr
CiBhcmNoL2FybS9tYWNoLXB4YS9pbmNsdWRlL21hY2gvcG9vZGxlLmggICAgICB8ICAgIDIgKwog
YXJjaC9hcm0vbWFjaC1weGEvaW5jbHVkZS9tYWNoL3Rvc2EuaCAgICAgICAgfCAgICAxICsKIGFy
Y2gvYXJtL21hY2gtcHhhL2luY2x1ZGUvbWFjaC96ZXVzLmggICAgICAgIHwgICAgMiArCiBhcmNo
L2FybS9tYWNoLXB4YS9pbmNsdWRlL21hY2gvenlsb25pdGUuaCAgICB8ICAgIDIgKwogYXJjaC9h
cm0vbWFjaC1weGEvbGl0dGxldG9uLmMgICAgICAgICAgICAgICAgfCAgICAxICsKIGFyY2gvYXJt
L21hY2gtcHhhL2xwZDI3MC5jICAgICAgICAgICAgICAgICAgIHwgICAgMSArCiBhcmNoL2FybS9t
YWNoLXB4YS9sdWJib2NrLmMgICAgICAgICAgICAgICAgICB8ICAgIDMgKy0KIGFyY2gvYXJtL21h
Y2gtcHhhL21hZ2ljaWFuLmMgICAgICAgICAgICAgICAgIHwgICAgMSArCiBhcmNoL2FybS9tYWNo
LXB4YS9tYWluc3RvbmUuYyAgICAgICAgICAgICAgICB8ICAgIDEgKwogYXJjaC9hcm0vbWFjaC1w
eGEvcGNtMDI3LmMgICAgICAgICAgICAgICAgICAgfCAgICAxICsKIGFyY2gvYXJtL21hY2gtcHhh
L3Bvb2RsZS5jICAgICAgICAgICAgICAgICAgIHwgICAgMSArCiBhcmNoL2FybS9tYWNoLXB4YS9z
dGFyZ2F0ZTIuYyAgICAgICAgICAgICAgICB8ICAgIDMgKysKIGFyY2gvYXJtL21hY2gtcHhhL3Rv
c2EuYyAgICAgICAgICAgICAgICAgICAgIHwgICAgMSArCiBhcmNoL2FybS9tYWNoLXB4YS96ZXVz
LmMgICAgICAgICAgICAgICAgICAgICB8ICAgIDEgKwogYXJjaC9hcm0vbWFjaC1weGEvenlsb25p
dGUuYyAgICAgICAgICAgICAgICAgfCAgICAxICsKIDMyIGZpbGVzIGNoYW5nZWQsIDU5IGluc2Vy
dGlvbnMoKyksIDU3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL0tjb25maWcg
Yi9hcmNoL2FybS9LY29uZmlnCmluZGV4IDkyOTUxMTAuLjQ1ZjkzZTEgMTAwNjQ0Ci0tLSBhL2Fy
Y2gvYXJtL0tjb25maWcKKysrIGIvYXJjaC9hcm0vS2NvbmZpZwpAQCAtNTg4LDYgKzU4OCw3IEBA
IGNvbmZpZyBBUkNIX1BYQQogCXNlbGVjdCBHRU5FUklDX0NMT0NLRVZFTlRTCiAJc2VsZWN0IFRJ
Q0tfT05FU0hPVAogCXNlbGVjdCBQTEFUX1BYQQorCXNlbGVjdCBTUEFSU0VfSVJRCiAJaGVscAog
CSAgU3VwcG9ydCBmb3IgSW50ZWwvTWFydmVsbCdzIFBYQTJ4eC9QWEEzeHggcHJvY2Vzc29yIGxp
bmUuCiAKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtcHhhL0tjb25maWcgYi9hcmNoL2FybS9t
YWNoLXB4YS9LY29uZmlnCmluZGV4IDNkNDkyNmUuLjM1N2NiMmYgMTAwNjQ0Ci0tLSBhL2FyY2gv
YXJtL21hY2gtcHhhL0tjb25maWcKKysrIGIvYXJjaC9hcm0vbWFjaC1weGEvS2NvbmZpZwpAQCAt
OCwxOSArOCwxNiBAQCBjb25maWcgQVJDSF9MVUJCT0NLCiAJYm9vbCAiSW50ZWwgREJQWEEyNTAg
RGV2ZWxvcG1lbnQgUGxhdGZvcm0gKGFrYSBMdWJib2NrKSIKIAlzZWxlY3QgUFhBMjV4CiAJc2Vs
ZWN0IFNBMTExMQotCXNlbGVjdCBQWEFfSEFWRV9CT0FSRF9JUlFTCiAKIGNvbmZpZyBNQUNIX01B
SU5TVE9ORQogCWJvb2wgIkludGVsIEhDRERCQlZBMCBEZXZlbG9wbWVudCBQbGF0Zm9ybSAoYWth
IE1haW5zdG9uZSkiCiAJc2VsZWN0IFBYQTI3eAogCXNlbGVjdCBIQVZFX1BXTQotCXNlbGVjdCBQ
WEFfSEFWRV9CT0FSRF9JUlFTCiAKIGNvbmZpZyBNQUNIX1pZTE9OSVRFCiAJYm9vbAogCXNlbGVj
dCBQWEEzeHgKIAlzZWxlY3QgSEFWRV9QV00KLQlzZWxlY3QgUFhBX0hBVkVfQk9BUkRfSVJRUwog
CiBjb25maWcgTUFDSF9aWUxPTklURTMwMAogCWJvb2wgIlBYQTN4eCBEZXZlbG9wbWVudCBQbGF0
Zm9ybSAoYWthIFp5bG9uaXRlKSBQWEEzMDAvMzEwIgpAQCAtNjEsNyArNTgsNiBAQCBjb25maWcg
QVJDSF9WSVBFUgogCXNlbGVjdCBJU0EKIAlzZWxlY3QgSTJDX0dQSU8KIAlzZWxlY3QgSEFWRV9Q
V00KLQlzZWxlY3QgUFhBX0hBVkVfQk9BUkRfSVJRUwogCXNlbGVjdCBQWEFfSEFWRV9JU0FfSVJR
UwogCXNlbGVjdCBBUkNPTV9QQ01DSUEKIApAQCAtNjksNyArNjUsNiBAQCBjb25maWcgTUFDSF9B
UkNPTV9aRVVTCiAJYm9vbCAiQXJjb20vRXVyb3RlY2ggWkVVUyBTQkMiCiAJc2VsZWN0IFBYQTI3
eAogCXNlbGVjdCBJU0EKLQlzZWxlY3QgUFhBX0hBVkVfQk9BUkRfSVJRUwogCXNlbGVjdCBQWEFf
SEFWRV9JU0FfSVJRUwogCXNlbGVjdCBBUkNPTV9QQ01DSUEKIApAQCAtNzcsNyArNzIsNiBAQCBj
b25maWcgTUFDSF9CQUxMT09OMwogCWJvb2wgIkJhbGxvb24gMyBib2FyZCIKIAlzZWxlY3QgUFhB
Mjd4CiAJc2VsZWN0IElXTU1YVAotCXNlbGVjdCBQWEFfSEFWRV9CT0FSRF9JUlFTCiAKIGNvbmZp
ZyBNQUNIX0NTQjcyNgogCWJvb2wgIkVuYWJsZSBDb2dlbnQgQ1NCNzI2IFN5c3RlbSBPbiBhIE1v
ZHVsZSIKQEAgLTE0MCwxMyArMTM0LDExIEBAIGNvbmZpZyBNQUNIX0lOVEVMTU9URTIKIAlib29s
ICJJbnRlbCBNb3RlIDIgUGxhdGZvcm0iCiAJc2VsZWN0IFBYQTI3eAogCXNlbGVjdCBJV01NWFQK
LQlzZWxlY3QgUFhBX0hBVkVfQk9BUkRfSVJRUwogCiBjb25maWcgTUFDSF9TVEFSR0FURTIKIAli
b29sICJJbnRlbCBTdGFyZ2F0ZSAyIFBsYXRmb3JtIgogCXNlbGVjdCBQWEEyN3gKIAlzZWxlY3Qg
SVdNTVhUCi0Jc2VsZWN0IFBYQV9IQVZFX0JPQVJEX0lSUVMKIAogY29uZmlnIE1BQ0hfWENFUAog
CWJvb2wgIklza3JhdGVsIEVsZWN0cm9uaWNzIFhDRVAiCkBAIC0yMDYsMTMgKzE5OCwxMSBAQCBj
b25maWcgTUFDSF9MT0dJQ1BEX1BYQTI3MAogCWJvb2wgIkxvZ2ljUEQgUFhBMjcwIENhcmQgRW5n
aW5lIERldmVsb3BtZW50IFBsYXRmb3JtIgogCXNlbGVjdCBQWEEyN3gKIAlzZWxlY3QgSEFWRV9Q
V00KLQlzZWxlY3QgUFhBX0hBVkVfQk9BUkRfSVJRUwogCiBjb25maWcgTUFDSF9QQ00wMjcKIAli
b29sICJQaHl0ZWMgcGh5Q09SRS1QWEEyNzAgQ1BVIG1vZHVsZSAoUENNLTAyNykiCiAJc2VsZWN0
IFBYQTI3eAogCXNlbGVjdCBJV01NWFQKLQlzZWxlY3QgUFhBX0hBVkVfQk9BUkRfSVJRUwogCiBj
b25maWcgTUFDSF9QQ005OTBfQkFTRUJPQVJECiAJYm9vbCAiUEhZVEVDIFBDTS05OTAgZGV2ZWxv
cG1lbnQgYm9hcmQiCkBAIC00NzgsNyArNDY4LDYgQEAgY29uZmlnIE1BQ0hfUE9PRExFCiAJZGVw
ZW5kcyBvbiBQWEFfU0hBUlBTTAogCXNlbGVjdCBQWEEyNXgKIAlzZWxlY3QgU0hBUlBfTE9DT01P
Ci0Jc2VsZWN0IFBYQV9IQVZFX0JPQVJEX0lSUVMKIAogY29uZmlnIE1BQ0hfQ09SR0kKIAlib29s
ICJFbmFibGUgU2hhcnAgU0wtQzcwMCAoQ29yZ2kpIFN1cHBvcnQiCkBAIC01MjMsNyArNTEyLDYg
QEAgY29uZmlnIE1BQ0hfVE9TQQogCWJvb2wgIkVuYWJsZSBTaGFycCBTTC02MDAweCAoVG9zYSkg
U3VwcG9ydCIKIAlkZXBlbmRzIG9uIFBYQV9TSEFSUFNMCiAJc2VsZWN0IFBYQTI1eAotCXNlbGVj
dCBQWEFfSEFWRV9CT0FSRF9JUlFTCiAKIGNvbmZpZyBUT1NBX0JUCiAJdHJpc3RhdGUgIkNvbnRy
b2wgdGhlIHN0YXRlIG9mIGJ1aWx0LWluIGJsdWV0b290aCBjaGlwIG9uIFNoYXJwIFNMLTYwMDAi
CkBAIC01NTIsNyArNTQwLDYgQEAgY29uZmlnIE1BQ0hfSUNPTlRST0wKIGNvbmZpZyBBUkNIX1BY
QV9FU0VSSUVTCiAJYm9vbCAiUFhBIGJhc2VkIFRvc2hpYmEgZS1zZXJpZXMgUERBcyIKIAlzZWxl
Y3QgUFhBMjV4Ci0Jc2VsZWN0IFBYQV9IQVZFX0JPQVJEX0lSUVMKIAogY29uZmlnIE1BQ0hfRTMz
MAogCWJvb2wgIlRvc2hpYmEgZTMzMCIKQEAgLTYwNiw3ICs1OTMsNiBAQCBjb25maWcgTUFDSF9a
SVBJVDIKIAlib29sICJaaXBpdCBaMiBIYW5kaGVsZCIKIAlzZWxlY3QgUFhBMjd4CiAJc2VsZWN0
IEhBVkVfUFdNCi0Jc2VsZWN0IFBYQV9IQVZFX0JPQVJEX0lSUVMKIAogZW5kbWVudQogCkBAIC02
OTMsOSArNjc5LDYgQEAgY29uZmlnIFNIQVJQU0xfUE1fTUFYMTExMQogCXNlbGVjdCBIV01PTgog
CXNlbGVjdCBTRU5TT1JTX01BWDExMTEKIAotY29uZmlnIFBYQV9IQVZFX0JPQVJEX0lSUVMKLQli
b29sCi0KIGNvbmZpZyBQWEFfSEFWRV9JU0FfSVJRUwogCWJvb2wKIApkaWZmIC0tZ2l0IGEvYXJj
aC9hcm0vbWFjaC1weGEvYmFsbG9vbjMuYyBiL2FyY2gvYXJtL21hY2gtcHhhL2JhbGxvb24zLmMK
aW5kZXggOTA0MTM0MC4uMmI4MWU2NCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1weGEvYmFs
bG9vbjMuYworKysgYi9hcmNoL2FybS9tYWNoLXB4YS9iYWxsb29uMy5jCkBAIC03NzksNiArNzc5
LDcgQEAgTUFDSElORV9TVEFSVChCQUxMT09OMywgIkJhbGxvb24zIikKIAkucGh5c19pbwk9IDB4
NDAwMDAwMDAsCiAJLmlvX3BnX29mZnN0CT0gKGlvX3AydigweDQwMDAwMDAwKSA+PiAxOCkgJiAw
eGZmZmMsCiAJLm1hcF9pbwkJPSBiYWxsb29uM19tYXBfaW8sCisJLm5yX2lycXMJPSBCQUxMT09O
M19OUl9JUlFTLAogCS5pbml0X2lycQk9IGJhbGxvb24zX2luaXRfaXJxLAogCS50aW1lcgkJPSAm
cHhhX3RpbWVyLAogCS5pbml0X21hY2hpbmUJPSBiYWxsb29uM19pbml0LApkaWZmIC0tZ2l0IGEv
YXJjaC9hcm0vbWFjaC1weGEvY20teDJ4eC5jIGIvYXJjaC9hcm0vbWFjaC1weGEvY20teDJ4eC5j
CmluZGV4IGJmZjZlNzguLmFkNDBlN2IgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtcHhhL2Nt
LXgyeHguYworKysgYi9hcmNoL2FybS9tYWNoLXB4YS9jbS14Mnh4LmMKQEAgLTMzLDYgKzMzLDkg
QEAKIGV4dGVybiB2b2lkIGNteDI1NV9pbml0KHZvaWQpOwogZXh0ZXJuIHZvaWQgY214MjcwX2lu
aXQodm9pZCk7CiAKKy8qIHJlc2VydmUgSVJRcyBmb3IgSVQ4MTUyICovCisjZGVmaW5lIENNWDJY
WF9OUl9JUlFTCQkoSVJRX0JPQVJEX1NUQVJUICsgNDApCisKIC8qIHZpcnR1YWwgYWRkcmVzc2Vz
IGZvciBzdGF0aWNhbGx5IG1hcHBlZCByZWdpb25zICovCiAjZGVmaW5lIENNWDJYWF9WSVJUX0JB
U0UJKDB4ZTgwMDAwMDApCiAjZGVmaW5lIENNWDJYWF9JVDgxNTJfVklSVAkoQ01YMlhYX1ZJUlRf
QkFTRSkKQEAgLTUxNCw2ICs1MTcsNyBAQCBNQUNISU5FX1NUQVJUKEFSTUNPUkUsICJDb21wdWxh
YiBDTS1YMlhYIikKIAkucGh5c19pbwk9IDB4NDAwMDAwMDAsCiAJLmlvX3BnX29mZnN0CT0gKGlv
X3AydigweDQwMDAwMDAwKSA+PiAxOCkgJiAweGZmZmMsCiAJLm1hcF9pbwkJPSBjbXgyeHhfbWFw
X2lvLAorCS5ucl9pcnFzCT0gQ01YMlhYX05SX0lSUVMsCiAJLmluaXRfaXJxCT0gY214Mnh4X2lu
aXRfaXJxLAogCS50aW1lcgkJPSAmcHhhX3RpbWVyLAogCS5pbml0X21hY2hpbmUJPSBjbXgyeHhf
aW5pdCwKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtcHhhL2VzZXJpZXMuYyBiL2FyY2gvYXJt
L21hY2gtcHhhL2VzZXJpZXMuYwppbmRleCAzNDkyMTJhLi40OTcxY2UxIDEwMDY0NAotLS0gYS9h
cmNoL2FybS9tYWNoLXB4YS9lc2VyaWVzLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1weGEvZXNlcmll
cy5jCkBAIC0yOSw2ICsyOSw3IEBACiAKICNpbmNsdWRlIDxtYWNoL3B4YTI1eC5oPgogI2luY2x1
ZGUgPG1hY2gvZXNlcmllcy1ncGlvLmg+CisjaW5jbHVkZSA8bWFjaC9lc2VyaWVzLWlycS5oPgog
I2luY2x1ZGUgPG1hY2gvYXVkaW8uaD4KICNpbmNsdWRlIDxtYWNoL3B4YWZiLmg+CiAjaW5jbHVk
ZSA8bWFjaC91ZGMuaD4KQEAgLTE4Myw2ICsxODQsNyBAQCBNQUNISU5FX1NUQVJUKEUzMzAsICJU
b3NoaWJhIGUzMzAiKQogCS5pb19wZ19vZmZzdAk9IChpb19wMnYoMHg0MDAwMDAwMCkgPj4gMTgp
ICYgMHhmZmZjLAogCS5ib290X3BhcmFtcwk9IDB4YTAwMDAxMDAsCiAJLm1hcF9pbwkJPSBweGFf
bWFwX2lvLAorCS5ucl9pcnFzCT0gRVNFUklFU19OUl9JUlFTLAogCS5pbml0X2lycQk9IHB4YTI1
eF9pbml0X2lycSwKIAkuZml4dXAJCT0gZXNlcmllc19maXh1cCwKIAkuaW5pdF9tYWNoaW5lCT0g
ZTMzMF9pbml0LApAQCAtMjMzLDYgKzIzNSw3IEBAIE1BQ0hJTkVfU1RBUlQoRTM1MCwgIlRvc2hp
YmEgZTM1MCIpCiAJLmlvX3BnX29mZnN0CT0gKGlvX3AydigweDQwMDAwMDAwKSA+PiAxOCkgJiAw
eGZmZmMsCiAJLmJvb3RfcGFyYW1zCT0gMHhhMDAwMDEwMCwKIAkubWFwX2lvCQk9IHB4YV9tYXBf
aW8sCisJLm5yX2lycXMJPSBFU0VSSUVTX05SX0lSUVMsCiAJLmluaXRfaXJxCT0gcHhhMjV4X2lu
aXRfaXJxLAogCS5maXh1cAkJPSBlc2VyaWVzX2ZpeHVwLAogCS5pbml0X21hY2hpbmUJPSBlMzUw
X2luaXQsCkBAIC0zNTYsNiArMzU5LDcgQEAgTUFDSElORV9TVEFSVChFNDAwLCAiVG9zaGliYSBl
NDAwIikKIAkuaW9fcGdfb2Zmc3QJPSAoaW9fcDJ2KDB4NDAwMDAwMDApID4+IDE4KSAmIDB4ZmZm
YywKIAkuYm9vdF9wYXJhbXMJPSAweGEwMDAwMTAwLAogCS5tYXBfaW8JCT0gcHhhX21hcF9pbywK
KwkubnJfaXJxcwk9IEVTRVJJRVNfTlJfSVJRUywKIAkuaW5pdF9pcnEJPSBweGEyNXhfaW5pdF9p
cnEsCiAJLmZpeHVwCQk9IGVzZXJpZXNfZml4dXAsCiAJLmluaXRfbWFjaGluZQk9IGU0MDBfaW5p
dCwKQEAgLTU0NSw2ICs1NDksNyBAQCBNQUNISU5FX1NUQVJUKEU3NDAsICJUb3NoaWJhIGU3NDAi
KQogCS5pb19wZ19vZmZzdAk9IChpb19wMnYoMHg0MDAwMDAwMCkgPj4gMTgpICYgMHhmZmZjLAog
CS5ib290X3BhcmFtcwk9IDB4YTAwMDAxMDAsCiAJLm1hcF9pbwkJPSBweGFfbWFwX2lvLAorCS5u
cl9pcnFzCT0gRVNFUklFU19OUl9JUlFTLAogCS5pbml0X2lycQk9IHB4YTI1eF9pbml0X2lycSwK
IAkuZml4dXAJCT0gZXNlcmllc19maXh1cCwKIAkuaW5pdF9tYWNoaW5lCT0gZTc0MF9pbml0LApA
QCAtNzM3LDYgKzc0Miw3IEBAIE1BQ0hJTkVfU1RBUlQoRTc1MCwgIlRvc2hpYmEgZTc1MCIpCiAJ
LmlvX3BnX29mZnN0CT0gKGlvX3AydigweDQwMDAwMDAwKSA+PiAxOCkgJiAweGZmZmMsCiAJLmJv
b3RfcGFyYW1zCT0gMHhhMDAwMDEwMCwKIAkubWFwX2lvCQk9IHB4YV9tYXBfaW8sCisJLm5yX2ly
cXMJPSBFU0VSSUVTX05SX0lSUVMsCiAJLmluaXRfaXJxCT0gcHhhMjV4X2luaXRfaXJxLAogCS5m
aXh1cAkJPSBlc2VyaWVzX2ZpeHVwLAogCS5pbml0X21hY2hpbmUJPSBlNzUwX2luaXQsCkBAIC05
MzMsNiArOTM5LDcgQEAgTUFDSElORV9TVEFSVChFODAwLCAiVG9zaGliYSBlODAwIikKIAkuaW9f
cGdfb2Zmc3QJPSAoaW9fcDJ2KDB4NDAwMDAwMDApID4+IDE4KSAmIDB4ZmZmYywKIAkuYm9vdF9w
YXJhbXMJPSAweGEwMDAwMTAwLAogCS5tYXBfaW8JCT0gcHhhX21hcF9pbywKKwkubnJfaXJxcwk9
IEVTRVJJRVNfTlJfSVJRUywKIAkuaW5pdF9pcnEJPSBweGEyNXhfaW5pdF9pcnEsCiAJLmZpeHVw
CQk9IGVzZXJpZXNfZml4dXAsCiAJLmluaXRfbWFjaGluZQk9IGU4MDBfaW5pdCwKZGlmZiAtLWdp
dCBhL2FyY2gvYXJtL21hY2gtcHhhL2V6eC5jIGIvYXJjaC9hcm0vbWFjaC1weGEvZXp4LmMKaW5k
ZXggNjI2YzgyYi4uNjdkZDNiNyAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1weGEvZXp4LmMK
KysrIGIvYXJjaC9hcm0vbWFjaC1weGEvZXp4LmMKQEAgLTM4LDYgKzM4LDggQEAKICNpbmNsdWRl
ICJkZXZpY2VzLmgiCiAjaW5jbHVkZSAiZ2VuZXJpYy5oIgogCisjZGVmaW5lIEVaWF9OUl9JUlFT
CQkJKElSUV9CT0FSRF9TVEFSVCArIDI0KQorCiAjZGVmaW5lIEdQSU8xMl9BNzgwX0ZMSVBfTElE
IAkJMTIKICNkZWZpbmUgR1BJTzE1X0ExMjAwX0ZMSVBfTElEIAkJMTUKICNkZWZpbmUgR1BJTzE1
X0E5MTBfRkxJUF9MSUQgCQkxNQpAQCAtMTEyNCw2ICsxMTI2LDcgQEAgTUFDSElORV9TVEFSVChF
WlhfQTkxMCwgIk1vdG9yb2xhIEVaWCBBOTEwIikKIAkuaW9fcGdfb2Zmc3QgICAgPSAoaW9fcDJ2
KDB4NDAwMDAwMDApID4+IDE4KSAmIDB4ZmZmYywKIAkuYm9vdF9wYXJhbXMgICAgPSAweGEwMDAw
MTAwLAogCS5tYXBfaW8gICAgICAgICA9IHB4YV9tYXBfaW8sCisJLm5yX2lycXMJPSBFWlhfTlJf
SVJRUywKIAkuaW5pdF9pcnEgICAgICAgPSBweGEyN3hfaW5pdF9pcnEsCiAJLnRpbWVyICAgICAg
ICAgID0gJnB4YV90aW1lciwKIAkuaW5pdF9tYWNoaW5lICAgPSBhOTEwX2luaXQsCkBAIC0xMTkw
LDYgKzExOTMsNyBAQCBNQUNISU5FX1NUQVJUKEVaWF9FNiwgIk1vdG9yb2xhIEVaWCBFNiIpCiAJ
LmlvX3BnX29mZnN0ICAgID0gKGlvX3AydigweDQwMDAwMDAwKSA+PiAxOCkgJiAweGZmZmMsCiAJ
LmJvb3RfcGFyYW1zICAgID0gMHhhMDAwMDEwMCwKIAkubWFwX2lvICAgICAgICAgPSBweGFfbWFw
X2lvLAorCS5ucl9pcnFzCT0gRVpYX05SX0lSUVMsCiAJLmluaXRfaXJxICAgICAgID0gcHhhMjd4
X2luaXRfaXJxLAogCS50aW1lciAgICAgICAgICA9ICZweGFfdGltZXIsCiAJLmluaXRfbWFjaGlu
ZSAgID0gZTZfaW5pdCwKQEAgLTEyMzAsNiArMTIzNCw3IEBAIE1BQ0hJTkVfU1RBUlQoRVpYX0Uy
LCAiTW90b3JvbGEgRVpYIEUyIikKIAkuaW9fcGdfb2Zmc3QgICAgPSAoaW9fcDJ2KDB4NDAwMDAw
MDApID4+IDE4KSAmIDB4ZmZmYywKIAkuYm9vdF9wYXJhbXMgICAgPSAweGEwMDAwMTAwLAogCS5t
YXBfaW8gICAgICAgICA9IHB4YV9tYXBfaW8sCisJLm5yX2lycXMJPSBFWlhfTlJfSVJRUywKIAku
aW5pdF9pcnEgICAgICAgPSBweGEyN3hfaW5pdF9pcnEsCiAJLnRpbWVyICAgICAgICAgID0gJnB4
YV90aW1lciwKIAkuaW5pdF9tYWNoaW5lICAgPSBlMl9pbml0LApkaWZmIC0tZ2l0IGEvYXJjaC9h
cm0vbWFjaC1weGEvaHg0NzAwLmMgYi9hcmNoL2FybS9tYWNoLXB4YS9oeDQ3MDAuYwppbmRleCA4
NDhjODYxLi4xMDEwNGYxIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLXB4YS9oeDQ3MDAuYwor
KysgYi9hcmNoL2FybS9tYWNoLXB4YS9oeDQ3MDAuYwpAQCAtODc0LDYgKzg3NCw3IEBAIE1BQ0hJ
TkVfU1RBUlQoSDQ3MDAsICJIUCBpUEFRIEhYNDcwMCIpCiAJLmlvX3BnX29mZnN0ICA9IChpb19w
MnYoMHg0MDAwMDAwMCkgPj4gMTgpICYgMHhmZmZjLAogCS5ib290X3BhcmFtcyAgPSAweGEwMDAw
MTAwLAogCS5tYXBfaW8gICAgICAgPSBweGFfbWFwX2lvLAorCS5ucl9pcnFzICAgICAgPSBIWDQ3
MDBfTlJfSVJRUywKIAkuaW5pdF9pcnEgICAgID0gcHhhMjd4X2luaXRfaXJxLAogCS5pbml0X21h
Y2hpbmUgPSBoeDQ3MDBfaW5pdCwKIAkudGltZXIgICAgICAgID0gJnB4YV90aW1lciwKZGlmZiAt
LWdpdCBhL2FyY2gvYXJtL21hY2gtcHhhL2luY2x1ZGUvbWFjaC9iYWxsb29uMy5oIGIvYXJjaC9h
cm0vbWFjaC1weGEvaW5jbHVkZS9tYWNoL2JhbGxvb24zLmgKaW5kZXggZWVjOTJlNi4uNTYxNTYy
YiAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1weGEvaW5jbHVkZS9tYWNoL2JhbGxvb24zLmgK
KysrIGIvYXJjaC9hcm0vbWFjaC1weGEvaW5jbHVkZS9tYWNoL2JhbGxvb24zLmgKQEAgLTE3NCw2
ICsxNzQsOCBAQCBlbnVtIGJhbGxvb24zX2ZlYXR1cmVzIHsKICNkZWZpbmUgQkFMTE9PTjNfQ09E
RUNfSVJRCUlSUV9HUElPKEJBTExPT04zX0dQSU9fQ09ERUNfSVJRKQogI2RlZmluZSBCQUxMT09O
M19TMF9DRF9JUlEJSVJRX0dQSU8oQkFMTE9PTjNfR1BJT19TMF9DRCkKIAorI2RlZmluZSBCQUxM
T09OM19OUl9JUlFTCShJUlFfQk9BUkRfU1RBUlQgKyA0KQorCiBleHRlcm4gaW50IGJhbGxvb24z
X2hhcyhlbnVtIGJhbGxvb24zX2ZlYXR1cmVzIGZlYXR1cmUpOwogCiAjZW5kaWYKZGlmZiAtLWdp
dCBhL2FyY2gvYXJtL21hY2gtcHhhL2luY2x1ZGUvbWFjaC9lc2VyaWVzLWlycS5oIGIvYXJjaC9h
cm0vbWFjaC1weGEvaW5jbHVkZS9tYWNoL2VzZXJpZXMtaXJxLmgKaW5kZXggZjJhOTNkNS4uZGUy
OTJiMiAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1weGEvaW5jbHVkZS9tYWNoL2VzZXJpZXMt
aXJxLmgKKysrIGIvYXJjaC9hcm0vbWFjaC1weGEvaW5jbHVkZS9tYWNoL2VzZXJpZXMtaXJxLmgK
QEAgLTI1LDMgKzI1LDQgQEAKICNkZWZpbmUgVE1JT19TRF9JUlEgICAgIElSUV9UTUlPKDEpCiAj
ZGVmaW5lIFRNSU9fVVNCX0lSUSAgICBJUlFfVE1JTygyKQogCisjZGVmaW5lIEVTRVJJRVNfTlJf
SVJRUwkoSVJRX0JPQVJEX1NUQVJUICsgMTYpCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLXB4
YS9pbmNsdWRlL21hY2gvaHg0NzAwLmggYi9hcmNoL2FybS9tYWNoLXB4YS9pbmNsdWRlL21hY2gv
aHg0NzAwLmgKaW5kZXggOWVhZWVkMS4uMzc0MDg0NCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFj
aC1weGEvaW5jbHVkZS9tYWNoL2h4NDcwMC5oCisrKyBiL2FyY2gvYXJtL21hY2gtcHhhL2luY2x1
ZGUvbWFjaC9oeDQ3MDAuaApAQCAtMTcsNiArMTcsNyBAQAogCiAjZGVmaW5lIEhYNDcwMF9BU0lD
M19HUElPX0JBU0UJTlJfQlVJTFRJTl9HUElPCiAjZGVmaW5lIEhYNDcwMF9FR1BJT19CQVNFCShI
WDQ3MDBfQVNJQzNfR1BJT19CQVNFICsgQVNJQzNfTlVNX0dQSU9TKQorI2RlZmluZSBIWDQ3MDBf
TlJfSVJRUwkJKElSUV9CT0FSRF9TVEFSVCArIDcwKQogCiAvKgogICogUFhBIEdQSU9zCmRpZmYg
LS1naXQgYS9hcmNoL2FybS9tYWNoLXB4YS9pbmNsdWRlL21hY2gvaXJxcy5oIGIvYXJjaC9hcm0v
bWFjaC1weGEvaW5jbHVkZS9tYWNoL2lycXMuaAppbmRleCBmZmM4MzE0Li5kMzcyY2FhIDEwMDY0
NAotLS0gYS9hcmNoL2FybS9tYWNoLXB4YS9pbmNsdWRlL21hY2gvaXJxcy5oCisrKyBiL2FyY2gv
YXJtL21hY2gtcHhhL2luY2x1ZGUvbWFjaC9pcnFzLmgKQEAgLTExNyw0OCArMTE3LDEyIEBACiAv
KgogICogVGhlIGZvbGxvd2luZyBpbnRlcnJ1cHRzIGFyZSBmb3IgYm9hcmQgc3BlY2lmaWMgcHVy
cG9zZXMuIFNpbmNlCiAgKiB0aGUga2VybmVsIGNhbiBvbmx5IHJ1biBvbiBvbmUgbWFjaGluZSBh
dCBhIHRpbWUsIHdlIGNhbiByZS11c2UKLSAqIHRoZXNlLiAgVGhlcmUgd2lsbCBiZSAxNiBJUlFz
IGJ5IGRlZmF1bHQuICBJZiBpdCBpcyBub3QgZW5vdWdoLAotICogSVJRX0JPQVJEX0VORCBpcyBh
bGxvd2VkIGJlIGN1c3RvbWl6ZWQgZm9yIGVhY2ggYm9hcmQsIGJ1dCBrZWVwCi0gKiB0aGUgbnVt
YmVycyB3aXRoaW4gc2Vuc2libGUgbGltaXRzIGFuZCBpbiBkZXNjZW5kaW5nIG9yZGVyLCBzbwot
ICogd2hlbiBtdWx0aXBsZSBjb25maWcgb3B0aW9ucyBhcmUgc2VsZWN0ZWQsIHRoZSBtYXhpbXVt
IHdpbGwgYmUKLSAqIHVzZWQuCisgKiB0aGVzZS4KKyAqIEJ5IGRlZmF1bHQsIG5vIGJvYXJkIElS
USBpcyByZXNlcnZlZC4gSXQgc2hvdWxkIGJlIGZpbmlzaGVkIGluCisgKiBjdXN0b20gYm9hcmQg
c2luY2Ugc3BhcnNlIElSUSBpcyBhbHJlYWR5IGVuYWJsZWQuCiAgKi8KICNkZWZpbmUgSVJRX0JP
QVJEX1NUQVJUCQkoUFhBX0dQSU9fSVJRX0JBU0UgKyBQWEFfR1BJT19JUlFfTlVNKQogCi0jaWYg
ZGVmaW5lZChDT05GSUdfTUFDSF9INDcwMCkKLSNkZWZpbmUgSVJRX0JPQVJEX0VORAkJKElSUV9C
T0FSRF9TVEFSVCArIDcwKQotI2VsaWYgZGVmaW5lZChDT05GSUdfTUFDSF9aWUxPTklURSkKLSNk
ZWZpbmUgSVJRX0JPQVJEX0VORAkJKElSUV9CT0FSRF9TVEFSVCArIDMyKQotI2VsaWYgZGVmaW5l
ZChDT05GSUdfUFhBX0VaWCkKLSNkZWZpbmUgSVJRX0JPQVJEX0VORAkJKElSUV9CT0FSRF9TVEFS
VCArIDIzKQotI2Vsc2UKLSNkZWZpbmUgSVJRX0JPQVJEX0VORAkJKElSUV9CT0FSRF9TVEFSVCAr
IDE2KQotI2VuZGlmCi0KLS8qCi0gKiBGaWd1cmUgb3V0IHRoZSBNQVggSVJRIG51bWJlci4KLSAq
Ci0gKiBJZiB3ZSBoYXZlIGFuIFNBMTExMSwgdGhlIG1heCBJUlEgaXMgUzFfQlZEMV9TVFNDSEcr
MS4KLSAqIElmIHdlIGhhdmUgYW4gTG9Db01vLCB0aGUgbWF4IElSUSBpcyBJUlFfTE9DT01PX1NQ
SV9URU5EKzEKLSAqIE90aGVyd2lzZSwgd2UgaGF2ZSB0aGUgc3RhbmRhcmQgSVJRcyBvbmx5Lgot
ICovCi0jaWZkZWYgQ09ORklHX1NBMTExMQotI2RlZmluZSBOUl9JUlFTCQkJKElSUV9CT0FSRF9F
TkQgKyA1NSkKLSNlbGlmIGRlZmluZWQoQ09ORklHX1BYQV9IQVZFX0JPQVJEX0lSUVMpCi0jZGVm
aW5lIE5SX0lSUVMJCQkoSVJRX0JPQVJEX0VORCkKLSNlbHNlCiAjZGVmaW5lIE5SX0lSUVMJCQko
SVJRX0JPQVJEX1NUQVJUKQotI2VuZGlmCi0KLS8qIGFkZCBJVDgxNTIgSVJRcyBiZXlvbmQgQk9B
UkRfRU5EICovCi0jaWZkZWYgQ09ORklHX1BDSV9IT1NUX0lURTgxNTIKLSNkZWZpbmUgSVQ4MTUy
X0xBU1RfSVJRICAgICAgICAgKElSUV9CT0FSRF9FTkQgKyA0MCkKLQotI2lmIE5SX0lSUVMgPCAo
SVQ4MTUyX0xBU1RfSVJRKzEpCi0jdW5kZWYgTlJfSVJRUwotI2RlZmluZSBOUl9JUlFTIChJVDgx
NTJfTEFTVF9JUlErMSkKLSNlbmRpZgotCi0jZW5kaWYgLyogQ09ORklHX1BDSV9IT1NUX0lURTgx
NTIgKi8KIAogI2VuZGlmIC8qIF9fQVNNX01BQ0hfSVJRU19IICovCmRpZmYgLS1naXQgYS9hcmNo
L2FybS9tYWNoLXB4YS9pbmNsdWRlL21hY2gvbGl0dGxldG9uLmggYi9hcmNoL2FybS9tYWNoLXB4
YS9pbmNsdWRlL21hY2gvbGl0dGxldG9uLmgKaW5kZXggNmM5YjIxYy4uMmE1NzI2YyAxMDA2NDQK
LS0tIGEvYXJjaC9hcm0vbWFjaC1weGEvaW5jbHVkZS9tYWNoL2xpdHRsZXRvbi5oCisrKyBiL2Fy
Y2gvYXJtL21hY2gtcHhhL2luY2x1ZGUvbWFjaC9saXR0bGV0b24uaApAQCAtMTAsNCArMTAsNiBA
QAogI2RlZmluZSBFWFQwX0dQSU9fQkFTRQkoTlJfQlVJTFRJTl9HUElPKQogI2RlZmluZSBFWFQw
X0dQSU8oeCkJKEVYVDBfR1BJT19CQVNFICsgKHgpKQogCisjZGVmaW5lIExJVFRMRVRPTl9OUl9J
UlFTCShJUlFfQk9BUkRfU1RBUlQgKyA4KQorCiAjZW5kaWYgLyogX19BU01fQVJDSF9MSVRUTEVU
T05fSCAqLwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1weGEvaW5jbHVkZS9tYWNoL2xwZDI3
MC5oIGIvYXJjaC9hcm0vbWFjaC1weGEvaW5jbHVkZS9tYWNoL2xwZDI3MC5oCmluZGV4IDBlNjQ0
MGMuLmNkMDcwMDkgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtcHhhL2luY2x1ZGUvbWFjaC9s
cGQyNzAuaAorKysgYi9hcmNoL2FybS9tYWNoLXB4YS9pbmNsdWRlL21hY2gvbHBkMjcwLmgKQEAg
LTM4LDUgKzM4LDYgQEAKICNkZWZpbmUgTFBEMjcwX1VTQkNfSVJRCQlMUEQyNzBfSVJRKDIpCiAj
ZGVmaW5lIExQRDI3MF9FVEhFUk5FVF9JUlEJTFBEMjcwX0lSUSgzKQogI2RlZmluZSBMUEQyNzBf
QUM5N19JUlEJCUxQRDI3MF9JUlEoNCkKKyNkZWZpbmUgTFBEMjcwX05SX0lSUVMJCShJUlFfQk9B
UkRfU1RBUlQgKyA1KQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtcHhhL2lu
Y2x1ZGUvbWFjaC9sdWJib2NrLmggYi9hcmNoL2FybS9tYWNoLXB4YS9pbmNsdWRlL21hY2gvbHVi
Ym9jay5oCmluZGV4IGEwZDQyNDcuLjJhMDg2ZTggMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gt
cHhhL2luY2x1ZGUvbWFjaC9sdWJib2NrLmgKKysrIGIvYXJjaC9hcm0vbWFjaC1weGEvaW5jbHVk
ZS9tYWNoL2x1YmJvY2suaApAQCAtNDUsNiArNDUsOSBAQAogI2RlZmluZSBMVUJCT0NLX1VTQl9E
SVNDX0lSUQlMVUJCT0NLX0lSUSg2KSAgLyogdXNiIGRpc2Nvbm5lY3QgKi8KICNkZWZpbmUgTFVC
Qk9DS19MQVNUX0lSUQlMVUJCT0NLX0lSUSg2KQogCisjZGVmaW5lIExVQkJPQ0tfU0ExMTExX0lS
UV9CQVNFCShJUlFfQk9BUkRfU1RBUlQgKyAxNikKKyNkZWZpbmUgTFVCQk9DS19OUl9JUlFTCQko
SVJRX0JPQVJEX1NUQVJUICsgMTYgKyA1NSkKKwogI2lmbmRlZiBfX0FTU0VNQkxZX18KIGV4dGVy
biB2b2lkIGx1YmJvY2tfc2V0X21pc2Nfd3IodW5zaWduZWQgaW50IG1hc2ssIHVuc2lnbmVkIGlu
dCBzZXQpOwogI2VuZGlmCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLXB4YS9pbmNsdWRlL21h
Y2gvbWFnaWNpYW4uaCBiL2FyY2gvYXJtL21hY2gtcHhhL2luY2x1ZGUvbWFjaC9tYWdpY2lhbi5o
CmluZGV4IDIwZWYzN2QuLjBhMmVmY2YgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtcHhhL2lu
Y2x1ZGUvbWFjaC9tYWdpY2lhbi5oCisrKyBiL2FyY2gvYXJtL21hY2gtcHhhL2luY2x1ZGUvbWFj
aC9tYWdpY2lhbi5oCkBAIC03MSw2ICs3MSw4IEBACiAjZGVmaW5lIElSUV9NQUdJQ0lBTl9CVAkJ
KElSUV9CT0FSRF9TVEFSVCArIDIpCiAjZGVmaW5lIElSUV9NQUdJQ0lBTl9WQlVTCShJUlFfQk9B
UkRfU1RBUlQgKyAzKQogCisjZGVmaW5lIE1BR0lDSUFOX05SX0lSUVMJKElSUV9CT0FSRF9TVEFS
VCArIDgpCisKIC8qCiAgKiBDUExEIEVHUElPcwogICovCmRpZmYgLS1naXQgYS9hcmNoL2FybS9t
YWNoLXB4YS9pbmNsdWRlL21hY2gvbWFpbnN0b25lLmggYi9hcmNoL2FybS9tYWNoLXB4YS9pbmNs
dWRlL21hY2gvbWFpbnN0b25lLmgKaW5kZXggODZlNjIzYS4uNGMyZDExYyAxMDA2NDQKLS0tIGEv
YXJjaC9hcm0vbWFjaC1weGEvaW5jbHVkZS9tYWNoL21haW5zdG9uZS5oCisrKyBiL2FyY2gvYXJt
L21hY2gtcHhhL2luY2x1ZGUvbWFjaC9tYWluc3RvbmUuaApAQCAtMTM0LDQgKzEzNCw2IEBACiAj
ZGVmaW5lIE1BSU5TVE9ORV9TMV9TVFNDSEdfSVJRCU1BSU5TVE9ORV9JUlEoMTQpCiAjZGVmaW5l
IE1BSU5TVE9ORV9TMV9JUlEJTUFJTlNUT05FX0lSUSgxNSkKIAorI2RlZmluZSBNQUlOU1RPTkVf
TlJfSVJRUwkoSVJRX0JPQVJEX1NUQVJUICsgMTYpCisKICNlbmRpZgpkaWZmIC0tZ2l0IGEvYXJj
aC9hcm0vbWFjaC1weGEvaW5jbHVkZS9tYWNoL3BjbTAyNy5oIGIvYXJjaC9hcm0vbWFjaC1weGEv
aW5jbHVkZS9tYWNoL3BjbTAyNy5oCmluZGV4IDA0MDgzMjYuLjRiYWM1ODggMTAwNjQ0Ci0tLSBh
L2FyY2gvYXJtL21hY2gtcHhhL2luY2x1ZGUvbWFjaC9wY20wMjcuaAorKysgYi9hcmNoL2FybS9t
YWNoLXB4YS9pbmNsdWRlL21hY2gvcGNtMDI3LmgKQEAgLTMwLDYgKzMwLDggQEAKICNkZWZpbmUg
UENNMDI3X01NQ0RFVF9JUlEgICAgICBQQ00wMjdfSVJRKDIpCiAjZGVmaW5lIFBDTTAyN19QTV81
Vl9JUlEgICAgICAgUENNMDI3X0lSUSgzKQogCisjZGVmaW5lIFBDTTAyN19OUl9JUlFTCQkoSVJR
X0JPQVJEX1NUQVJUICsgMzIpCisKIC8qIEkyQyBSVEMgKi8KICNkZWZpbmUgUENNMDI3X1JUQ19J
UlFfR1BJTwkwCiAjZGVmaW5lIFBDTTAyN19SVENfSVJRCQlJUlFfR1BJTyhQQ00wMjdfUlRDX0lS
UV9HUElPKQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1weGEvaW5jbHVkZS9tYWNoL3Bvb2Rs
ZS5oIGIvYXJjaC9hcm0vbWFjaC1weGEvaW5jbHVkZS9tYWNoL3Bvb2RsZS5oCmluZGV4IDBiM2U2
ZDAuLjgzZDFjZmQgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtcHhhL2luY2x1ZGUvbWFjaC9w
b29kbGUuaAorKysgYi9hcmNoL2FybS9tYWNoLXB4YS9pbmNsdWRlL21hY2gvcG9vZGxlLmgKQEAg
LTg1LDYgKzg1LDggQEAKICNkZWZpbmUgUE9PRExFX0xPQ09NT19HUElPXzIzMlZDQ19PTiAgIExP
Q09NT19HUElPKDEyKQogI2RlZmluZSBQT09ETEVfTE9DT01PX0dQSU9fSktfQiAgICAgICAgTE9D
T01PX0dQSU8oMTMpCiAKKyNkZWZpbmUgUE9PRExFX05SX0lSUVMJCShJUlFfQk9BUkRfU1RBUlQg
KyA0KQkvKiA0IGZvciBMb0NvTW8gKi8KKwogZXh0ZXJuIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2Ug
cG9vZGxlX2xvY29tb19kZXZpY2U7CiAKICNlbmRpZiAvKiBfX0FTTV9BUkNIX1BPT0RMRV9IICAq
LwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1weGEvaW5jbHVkZS9tYWNoL3Rvc2EuaCBiL2Fy
Y2gvYXJtL21hY2gtcHhhL2luY2x1ZGUvbWFjaC90b3NhLmgKaW5kZXggMWJiZDFmMi4uMTI3MmM0
YiAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1weGEvaW5jbHVkZS9tYWNoL3Rvc2EuaAorKysg
Yi9hcmNoL2FybS9tYWNoLXB4YS9pbmNsdWRlL21hY2gvdG9zYS5oCkBAIC0yMCw2ICsyMCw3IEBA
CiAvKiBKYWNrZXQgU2Nvb3AgKi8KICNkZWZpbmUgVE9TQV9TQ09PUF9QSFlTICAJKFBYQV9DUzVf
UEhZUyArIDB4MDA4MDAwMDApCiAKKyNkZWZpbmUgVE9TQV9OUl9JUlFTCQkoSVJRX0JPQVJEX1NU
QVJUICsgVEM2MzkzWEJfTlJfSVJRUykKIC8qCiAgKiBTQ09PUDIgaW50ZXJuYWwgR1BJT3MKICAq
LwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1weGEvaW5jbHVkZS9tYWNoL3pldXMuaCBiL2Fy
Y2gvYXJtL21hY2gtcHhhL2luY2x1ZGUvbWFjaC96ZXVzLmgKaW5kZXggNmUxMTk5Ny4uZmFhNDA4
YSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1weGEvaW5jbHVkZS9tYWNoL3pldXMuaAorKysg
Yi9hcmNoL2FybS9tYWNoLXB4YS9pbmNsdWRlL21hY2gvemV1cy5oCkBAIC0xNSw2ICsxNSw4IEBA
CiAjaWZuZGVmIF9NQUNIX1pFVVNfSAogI2RlZmluZSBfTUFDSF9aRVVTX0gKIAorI2RlZmluZSBa
RVVTX05SX0lSUVMJCShJUlFfQk9BUkRfU1RBUlQgKyA0OCkKKwogLyogUGh5c2ljYWwgYWRkcmVz
c2VzICovCiAjZGVmaW5lIFpFVVNfRkxBU0hfUEhZUwkJUFhBX0NTMF9QSFlTCiAjZGVmaW5lIFpF
VVNfRVRIMF9QSFlTCQlQWEFfQ1MxX1BIWVMKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtcHhh
L2luY2x1ZGUvbWFjaC96eWxvbml0ZS5oIGIvYXJjaC9hcm0vbWFjaC1weGEvaW5jbHVkZS9tYWNo
L3p5bG9uaXRlLmgKaW5kZXggOWVkZjY0NS4uZWEyNDk5OCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0v
bWFjaC1weGEvaW5jbHVkZS9tYWNoL3p5bG9uaXRlLmgKKysrIGIvYXJjaC9hcm0vbWFjaC1weGEv
aW5jbHVkZS9tYWNoL3p5bG9uaXRlLmgKQEAgLTUsNiArNSw4IEBACiAKICNkZWZpbmUgRVhUX0dQ
SU8oeCkJCSgxMjggKyAoeCkpCiAKKyNkZWZpbmUgWllMT05JVEVfTlJfSVJRUwkoSVJRX0JPQVJE
X1NUQVJUICsgMzIpCisKIC8qIHRoZSBmb2xsb3dpbmcgdmFyaWFibGVzIGFyZSBwcm9jZXNzb3Ig
c3BlY2lmaWMgYW5kIGluaXRpYWxpemVkCiAgKiBieSB0aGUgY29ycmVzcG9uZGluZyB6eWxvbml0
ZV9weGEzeHhfaW5pdCgpCiAgKi8KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtcHhhL2xpdHRs
ZXRvbi5jIGIvYXJjaC9hcm0vbWFjaC1weGEvbGl0dGxldG9uLmMKaW5kZXggOWI5MDQ2MS4uODNm
MzIzNiAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1weGEvbGl0dGxldG9uLmMKKysrIGIvYXJj
aC9hcm0vbWFjaC1weGEvbGl0dGxldG9uLmMKQEAgLTQ0MSw2ICs0NDEsNyBAQCBNQUNISU5FX1NU
QVJUKExJVFRMRVRPTiwgIk1hcnZlbGwgRm9ybSBGYWN0b3IgRGV2ZWxvcG1lbnQgUGxhdGZvcm0g
KGFrYSBMaXR0bGV0bwogCS5ib290X3BhcmFtcwk9IDB4YTAwMDAxMDAsCiAJLmlvX3BnX29mZnN0
CT0gKGlvX3AydigweDQwMDAwMDAwKSA+PiAxOCkgJiAweGZmZmMsCiAJLm1hcF9pbwkJPSBweGFf
bWFwX2lvLAorCS5ucl9pcnFzCT0gTElUVExFVE9OX05SX0lSUVMsCiAJLmluaXRfaXJxCT0gcHhh
M3h4X2luaXRfaXJxLAogCS50aW1lcgkJPSAmcHhhX3RpbWVyLAogCS5pbml0X21hY2hpbmUJPSBs
aXR0bGV0b25faW5pdCwKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtcHhhL2xwZDI3MC5jIGIv
YXJjaC9hcm0vbWFjaC1weGEvbHBkMjcwLmMKaW5kZXggZDI3OTUwNy4uZmM5NTAyZSAxMDA2NDQK
LS0tIGEvYXJjaC9hcm0vbWFjaC1weGEvbHBkMjcwLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1weGEv
bHBkMjcwLmMKQEAgLTUwOSw2ICs1MDksNyBAQCBNQUNISU5FX1NUQVJUKExPR0lDUERfUFhBMjcw
LCAiTG9naWNQRCBQWEEyNzAgQ2FyZCBFbmdpbmUiKQogCS5pb19wZ19vZmZzdAk9IChpb19wMnYo
MHg0MDAwMDAwMCkgPj4gMTgpICYgMHhmZmZjLAogCS5ib290X3BhcmFtcwk9IDB4YTAwMDAxMDAs
CiAJLm1hcF9pbwkJPSBscGQyNzBfbWFwX2lvLAorCS5ucl9pcnFzCT0gTFBEMjcwX05SX0lSUVMs
CiAJLmluaXRfaXJxCT0gbHBkMjcwX2luaXRfaXJxLAogCS50aW1lcgkJPSAmcHhhX3RpbWVyLAog
CS5pbml0X21hY2hpbmUJPSBscGQyNzBfaW5pdCwKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gt
cHhhL2x1YmJvY2suYyBiL2FyY2gvYXJtL21hY2gtcHhhL2x1YmJvY2suYwppbmRleCAzMzBjMzI4
Li4xOTU2YzIzIDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLXB4YS9sdWJib2NrLmMKKysrIGIv
YXJjaC9hcm0vbWFjaC1weGEvbHViYm9jay5jCkBAIC0yMjksNyArMjI5LDcgQEAgc3RhdGljIHN0
cnVjdCByZXNvdXJjZSBzYTExMTFfcmVzb3VyY2VzW10gPSB7CiB9OwogCiBzdGF0aWMgc3RydWN0
IHNhMTExMV9wbGF0Zm9ybV9kYXRhIHNhMTExMV9pbmZvID0gewotCS5pcnFfYmFzZQk9IElSUV9C
T0FSRF9FTkQsCisJLmlycV9iYXNlCT0gTFVCQk9DS19TQTExMTFfSVJRX0JBU0UsCiB9OwogCiBz
dGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBzYTExMTFfZGV2aWNlID0gewpAQCAtNTYwLDYg
KzU2MCw3IEBAIE1BQ0hJTkVfU1RBUlQoTFVCQk9DSywgIkludGVsIERCUFhBMjUwIERldmVsb3Bt
ZW50IFBsYXRmb3JtIChha2EgTHViYm9jaykiKQogCS5waHlzX2lvCT0gMHg0MDAwMDAwMCwKIAku
aW9fcGdfb2Zmc3QJPSAoaW9fcDJ2KDB4NDAwMDAwMDApID4+IDE4KSAmIDB4ZmZmYywKIAkubWFw
X2lvCQk9IGx1YmJvY2tfbWFwX2lvLAorCS5ucl9pcnFzCT0gTFVCQk9DS19OUl9JUlFTLAogCS5p
bml0X2lycQk9IGx1YmJvY2tfaW5pdF9pcnEsCiAJLnRpbWVyCQk9ICZweGFfdGltZXIsCiAJLmlu
aXRfbWFjaGluZQk9IGx1YmJvY2tfaW5pdCwKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtcHhh
L21hZ2ljaWFuLmMgYi9hcmNoL2FybS9tYWNoLXB4YS9tYWdpY2lhbi5jCmluZGV4IGU4MWRkMGMu
LjQyYTBjMmIgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtcHhhL21hZ2ljaWFuLmMKKysrIGIv
YXJjaC9hcm0vbWFjaC1weGEvbWFnaWNpYW4uYwpAQCAtNzY4LDYgKzc2OCw3IEBAIE1BQ0hJTkVf
U1RBUlQoTUFHSUNJQU4sICJIVEMgTWFnaWNpYW4iKQogCS5pb19wZ19vZmZzdCA9IChpb19wMnYo
MHg0MDAwMDAwMCkgPj4gMTgpICYgMHhmZmZjLAogCS5ib290X3BhcmFtcyA9IDB4YTAwMDAxMDAs
CiAJLm1hcF9pbyA9IHB4YV9tYXBfaW8sCisJLm5yX2lycXMgPSBNQUdJQ0lBTl9OUl9JUlFTLAog
CS5pbml0X2lycSA9IHB4YTI3eF9pbml0X2lycSwKIAkuaW5pdF9tYWNoaW5lID0gbWFnaWNpYW5f
aW5pdCwKIAkudGltZXIgPSAmcHhhX3RpbWVyLApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1w
eGEvbWFpbnN0b25lLmMgYi9hcmNoL2FybS9tYWNoLXB4YS9tYWluc3RvbmUuYwppbmRleCA1NTQz
YzY0Li5jMmE4NzE3IDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLXB4YS9tYWluc3RvbmUuYwor
KysgYi9hcmNoL2FybS9tYWNoLXB4YS9tYWluc3RvbmUuYwpAQCAtNjI4LDYgKzYyOCw3IEBAIE1B
Q0hJTkVfU1RBUlQoTUFJTlNUT05FLCAiSW50ZWwgSENEREJCVkEwIERldmVsb3BtZW50IFBsYXRm
b3JtIChha2EgTWFpbnN0b25lKSIpCiAJLmJvb3RfcGFyYW1zCT0gMHhhMDAwMDEwMCwJLyogQkxP
QiBib290IHBhcmFtZXRlciBzZXR0aW5nICovCiAJLmlvX3BnX29mZnN0CT0gKGlvX3AydigweDQw
MDAwMDAwKSA+PiAxOCkgJiAweGZmZmMsCiAJLm1hcF9pbwkJPSBtYWluc3RvbmVfbWFwX2lvLAor
CS5ucl9pcnFzCT0gTUFJTlNUT05FX05SX0lSUVMsCiAJLmluaXRfaXJxCT0gbWFpbnN0b25lX2lu
aXRfaXJxLAogCS50aW1lcgkJPSAmcHhhX3RpbWVyLAogCS5pbml0X21hY2hpbmUJPSBtYWluc3Rv
bmVfaW5pdCwKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtcHhhL3BjbTAyNy5jIGIvYXJjaC9h
cm0vbWFjaC1weGEvcGNtMDI3LmMKaW5kZXggMjE5MGFmMC4uOTBiMDhiYSAxMDA2NDQKLS0tIGEv
YXJjaC9hcm0vbWFjaC1weGEvcGNtMDI3LmMKKysrIGIvYXJjaC9hcm0vbWFjaC1weGEvcGNtMDI3
LmMKQEAgLTI2Miw2ICsyNjIsNyBAQCBNQUNISU5FX1NUQVJUKFBDTTAyNywgIlBoeXRlYyBNZXNz
dGVjaG5payBHbWJIIHBoeUNPUkUtUFhBMjcwIikKIAkucGh5c19pbwk9IDB4NDAwMDAwMDAsCiAJ
LmlvX3BnX29mZnN0CT0gKGlvX3AydigweDQwMDAwMDAwKSA+PiAxOCkgJiAweGZmZmMsCiAJLm1h
cF9pbwkJPSBwY20wMjdfbWFwX2lvLAorCS5ucl9pcnFzCT0gUENNMDI3X05SX0lSUVMsCiAJLmlu
aXRfaXJxCT0gcHhhMjd4X2luaXRfaXJxLAogCS50aW1lcgkJPSAmcHhhX3RpbWVyLAogCS5pbml0
X21hY2hpbmUJPSBwY20wMjdfaW5pdCwKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtcHhhL3Bv
b2RsZS5jIGIvYXJjaC9hcm0vbWFjaC1weGEvcG9vZGxlLmMKaW5kZXggNTVlOGZjZC4uYzA0ZTAy
NSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1weGEvcG9vZGxlLmMKKysrIGIvYXJjaC9hcm0v
bWFjaC1weGEvcG9vZGxlLmMKQEAgLTQ2OSw2ICs0NjksNyBAQCBNQUNISU5FX1NUQVJUKFBPT0RM
RSwgIlNIQVJQIFBvb2RsZSIpCiAJLmlvX3BnX29mZnN0CT0gKGlvX3AydigweDQwMDAwMDAwKSA+
PiAxOCkgJiAweGZmZmMsCiAJLmZpeHVwCQk9IGZpeHVwX3Bvb2RsZSwKIAkubWFwX2lvCQk9IHB4
YV9tYXBfaW8sCisJLm5yX2lycXMJPSBQT09ETEVfTlJfSVJRUywJLyogNCBmb3IgTG9Db01vICov
CiAJLmluaXRfaXJxCT0gcHhhMjV4X2luaXRfaXJxLAogCS50aW1lcgkJPSAmcHhhX3RpbWVyLAog
CS5pbml0X21hY2hpbmUJPSBwb29kbGVfaW5pdCwKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gt
cHhhL3N0YXJnYXRlMi5jIGIvYXJjaC9hcm0vbWFjaC1weGEvc3RhcmdhdGUyLmMKaW5kZXggYTY1
NGQxZS4uNjJkZTA3MyAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1weGEvc3RhcmdhdGUyLmMK
KysrIGIvYXJjaC9hcm0vbWFjaC1weGEvc3RhcmdhdGUyLmMKQEAgLTU2LDYgKzU2LDggQEAKICNp
bmNsdWRlICJkZXZpY2VzLmgiCiAjaW5jbHVkZSAiZ2VuZXJpYy5oIgogCisjZGVmaW5lIFNUQVJH
QVRFX05SX0lSUVMJKElSUV9CT0FSRF9TVEFSVCArIDgpCisKIC8qIEJsdWV0b290aCAqLwogI2Rl
ZmluZSBTRzJfQlRfUkVTRVQJCTgxCiAKQEAgLTEwMTEsNiArMTAxMyw3IEBAIE1BQ0hJTkVfU1RB
UlQoU1RBUkdBVEUyLCAiU3RhcmdhdGUgMiIpCiAJLnBoeXNfaW8gPSAweDQwMDAwMDAwLAogCS5p
b19wZ19vZmZzdCA9IChpb19wMnYoMHg0MDAwMDAwMCkgPj4gMTgpICYgMHhmZmZjLAogCS5tYXBf
aW8gPSBweGFfbWFwX2lvLAorCS5ucl9pcnFzID0gU1RBUkdBVEVfTlJfSVJRUywKIAkuaW5pdF9p
cnEgPSBweGEyN3hfaW5pdF9pcnEsCiAJLnRpbWVyID0gJnB4YV90aW1lciwKIAkuaW5pdF9tYWNo
aW5lID0gc3RhcmdhdGUyX2luaXQsCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLXB4YS90b3Nh
LmMgYi9hcmNoL2FybS9tYWNoLXB4YS90b3NhLmMKaW5kZXggODNjYzNhMS4uM2EwNmU5OCAxMDA2
NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1weGEvdG9zYS5jCisrKyBiL2FyY2gvYXJtL21hY2gtcHhh
L3Rvc2EuYwpAQCAtOTU2LDYgKzk1Niw3IEBAIE1BQ0hJTkVfU1RBUlQoVE9TQSwgIlNIQVJQIFRv
c2EiKQogCS5pb19wZ19vZmZzdAk9IChpb19wMnYoMHg0MDAwMDAwMCkgPj4gMTgpICYgMHhmZmZj
LAogCS5maXh1cCAgICAgICAgICA9IGZpeHVwX3Rvc2EsCiAJLm1hcF9pbyAgICAgICAgID0gcHhh
X21hcF9pbywKKwkubnJfaXJxcwk9IFRPU0FfTlJfSVJRUywKIAkuaW5pdF9pcnEgICAgICAgPSBw
eGEyNXhfaW5pdF9pcnEsCiAJLmluaXRfbWFjaGluZSAgID0gdG9zYV9pbml0LAogCS50aW1lciAg
ICAgICAgICA9ICZweGFfdGltZXIsCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLXB4YS96ZXVz
LmMgYi9hcmNoL2FybS9tYWNoLXB4YS96ZXVzLmMKaW5kZXggMDNiOWNiOS4uOWRhMmI2MiAxMDA2
NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1weGEvemV1cy5jCisrKyBiL2FyY2gvYXJtL21hY2gtcHhh
L3pldXMuYwpAQCAtOTA0LDYgKzkwNCw3IEBAIE1BQ0hJTkVfU1RBUlQoQVJDT01fWkVVUywgIkFy
Y29tL0V1cm90ZWNoIFpFVVMiKQogCS5pb19wZ19vZmZzdAk9ICgoaW9fcDJ2KDB4NDAwMDAwMDAp
ID4+IDE4KSAmIDB4ZmZmYyksCiAJLmJvb3RfcGFyYW1zCT0gMHhhMDAwMDEwMCwKIAkubWFwX2lv
CQk9IHpldXNfbWFwX2lvLAorCS5ucl9pcnFzCT0gWkVVU19OUl9JUlFTLAogCS5pbml0X2lycQk9
IHpldXNfaW5pdF9pcnEsCiAJLnRpbWVyCQk9ICZweGFfdGltZXIsCiAJLmluaXRfbWFjaGluZQk9
IHpldXNfaW5pdCwKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtcHhhL3p5bG9uaXRlLmMgYi9h
cmNoL2FybS9tYWNoLXB4YS96eWxvbml0ZS5jCmluZGV4IGM0NzljYmUuLjJlZGFkNjEgMTAwNjQ0
Ci0tLSBhL2FyY2gvYXJtL21hY2gtcHhhL3p5bG9uaXRlLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1w
eGEvenlsb25pdGUuYwpAQCAtNDE1LDYgKzQxNSw3IEBAIE1BQ0hJTkVfU1RBUlQoWllMT05JVEUs
ICJQWEEzeHggUGxhdGZvcm0gRGV2ZWxvcG1lbnQgS2l0IChha2EgWnlsb25pdGUpIikKIAkuYm9v
dF9wYXJhbXMJPSAweGEwMDAwMTAwLAogCS5pb19wZ19vZmZzdAk9IChpb19wMnYoMHg0MDAwMDAw
MCkgPj4gMTgpICYgMHhmZmZjLAogCS5tYXBfaW8JCT0gcHhhX21hcF9pbywKKwkubnJfaXJxcwk9
IFpZTE9OSVRFX05SX0lSUVMsCiAJLmluaXRfaXJxCT0gcHhhM3h4X2luaXRfaXJxLAogCS50aW1l
cgkJPSAmcHhhX3RpbWVyLAogCS5pbml0X21hY2hpbmUJPSB6eWxvbml0ZV9pbml0LAotLSAKMS41
LjYuNQoK
--0016e649c9eae341ba048e3d46dc--
More information about the linux-arm-kernel
mailing list