Skip to content

Commit e465e65

Browse files
soc/power9/homer.c: additionaly enable HDEE in self-restore
Hypervisor Doorbell Exit Enable is required for waking threads with doorbell messages. Signed-off-by: Krystian Hebel <krystian.hebel@3mdeb.com> Change-Id: I0cbbe2c5d029b3cae5337a6fd5fcf3dbd5321b1a
1 parent 2617b42 commit e465e65

File tree

2 files changed

+3
-2
lines changed

2 files changed

+3
-2
lines changed

src/include/cpu/power/spr.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
#define SPR_LPCR 0x13E
2222
#define SPR_LPCR_HVEE PPC_BIT(17)
2323
#define SPR_LPCR_LD PPC_BIT(46)
24+
#define SPR_LPCR_HDEE PPC_BIT(48)
2425
#define SPR_LPCR_EEE PPC_BIT(49)
2526
#define SPR_LPCR_DEE PPC_BIT(50)
2627
#define SPR_LPCR_OEE PPC_BIT(51)

src/soc/ibm/power9/homer.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -343,11 +343,11 @@ static void build_self_restore(struct homer_st *homer,
343343
size_t size;
344344
uint32_t *ptr;
345345
const uint64_t hrmor = read_spr(SPR_HRMOR);
346-
/* See cpu_winkle() */
346+
/* See cpu_winkle(), additionally set Hypervisor Doorbell Exit Enable */
347347
const uint64_t lpcr =
348348
(read_spr(SPR_LPCR)
349349
& ~(SPR_LPCR_EEE | SPR_LPCR_DEE | SPR_LPCR_OEE | SPR_LPCR_HDICE))
350-
| (SPR_LPCR_HVICE | SPR_LPCR_HVEE);
350+
| (SPR_LPCR_HVICE | SPR_LPCR_HVEE | SPR_LPCR_HDEE);
351351
/*
352352
* Timing facilities may be lost. During their restoration Large Decrementer
353353
* in LPCR may be initially turned off, which may result in a spurious

0 commit comments

Comments
 (0)