diff options
author | Helge Deller <deller@gmx.de> | 2018-04-18 15:46:41 +0200 |
---|---|---|
committer | Helge Deller <deller@gmx.de> | 2018-04-18 16:17:13 +0200 |
commit | 41dbee81c875300072f6154d6722f6e8e1353cca (patch) | |
tree | 016abcaa3e51fa83f1b6eb6a725793ccc1f7f191 /arch | |
parent | 89e050c87dab3e933dcb90677947752d19aeafa4 (diff) | |
download | linux-41dbee81c875300072f6154d6722f6e8e1353cca.tar.gz linux-41dbee81c875300072f6154d6722f6e8e1353cca.tar.bz2 linux-41dbee81c875300072f6154d6722f6e8e1353cca.zip |
parisc: Document rules regarding checksum of HPMC handler
Signed-off-by: Helge Deller <deller@gmx.de>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/parisc/kernel/traps.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/arch/parisc/kernel/traps.c b/arch/parisc/kernel/traps.c index 68e671a11987..71d31274d782 100644 --- a/arch/parisc/kernel/traps.c +++ b/arch/parisc/kernel/traps.c @@ -837,6 +837,17 @@ void __init initialize_ivt(const void *iva) if (pdc_instr(&instr) == PDC_OK) ivap[0] = instr; + /* + * Rules for the checksum of the HPMC handler: + * 1. The IVA does not point to PDC/PDH space (ie: the OS has installed + * its own IVA). + * 2. The word at IVA + 32 is nonzero. + * 3. If Length (IVA + 60) is not zero, then Length (IVA + 60) and + * Address (IVA + 56) are word-aligned. + * 4. The checksum of the 8 words starting at IVA + 32 plus the sum of + * the Length/4 words starting at Address is zero. + */ + /* Compute Checksum for HPMC handler */ length = os_hpmc_size; ivap[7] = length; |