parisc: export length of os_hpmc vector
and use this instead of dealing with exporting start/end and toying with function descriptors. Signed-off-by: Kyle McMartin <kyle@mcmartin.ca>
This commit is contained in:
parent
c61c25eb02
commit
ae16489eb1
|
@ -80,6 +80,7 @@ END(hpmc_pim_data)
|
||||||
|
|
||||||
.import intr_save, code
|
.import intr_save, code
|
||||||
ENTRY(os_hpmc)
|
ENTRY(os_hpmc)
|
||||||
|
.os_hpmc:
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* registers modified:
|
* registers modified:
|
||||||
|
@ -295,5 +296,10 @@ os_hpmc_6:
|
||||||
b .
|
b .
|
||||||
nop
|
nop
|
||||||
ENDPROC(os_hpmc)
|
ENDPROC(os_hpmc)
|
||||||
ENTRY(os_hpmc_end) /* this label used to compute os_hpmc checksum */
|
.os_hpmc_end:
|
||||||
nop
|
nop
|
||||||
|
.data
|
||||||
|
.align 4
|
||||||
|
.export os_hpmc_size
|
||||||
|
os_hpmc_size:
|
||||||
|
.word .os_hpmc_end-.os_hpmc
|
||||||
|
|
|
@ -825,8 +825,8 @@ void handle_interruption(int code, struct pt_regs *regs)
|
||||||
|
|
||||||
int __init check_ivt(void *iva)
|
int __init check_ivt(void *iva)
|
||||||
{
|
{
|
||||||
|
extern u32 os_hpmc_size;
|
||||||
extern const u32 os_hpmc[];
|
extern const u32 os_hpmc[];
|
||||||
extern const u32 os_hpmc_end[];
|
|
||||||
|
|
||||||
int i;
|
int i;
|
||||||
u32 check = 0;
|
u32 check = 0;
|
||||||
|
@ -843,8 +843,7 @@ int __init check_ivt(void *iva)
|
||||||
*ivap++ = 0;
|
*ivap++ = 0;
|
||||||
|
|
||||||
/* Compute Checksum for HPMC handler */
|
/* Compute Checksum for HPMC handler */
|
||||||
|
length = os_hpmc_size;
|
||||||
length = os_hpmc_end - os_hpmc;
|
|
||||||
ivap[7] = length;
|
ivap[7] = length;
|
||||||
|
|
||||||
hpmcp = (u32 *)os_hpmc;
|
hpmcp = (u32 *)os_hpmc;
|
||||||
|
|
Loading…
Reference in New Issue