FIX MES in init.c
Greetings James and Other Maintainers of the Parisc Architecture, I am wondering about two fix mes in init.c and how to fix them for being const declared into actual variables. I will paste the parts of the file for your convenience below.
Thanks,
Nick
---------------------------------------------------------------------------------
static void __init gateway_init(void)
{
unsigned long linux_gateway_page_addr;
/* FIXME: This is 'const' in order to trick the compiler
into not treating it as DP-relative data. */
extern void * const linux_gateway_page;
linux_gateway_page_addr = LINUX_GATEWAY_ADDR & PAGE_MASK;
/*
* Setup Linux Gateway page.
*
* The Linux gateway page will reside in kernel space (on virtual
* page 0), so it doesn't need to be aliased into user space.
*/
map_pages(linux_gateway_page_addr, __pa(&linux_gateway_page),
PAGE_SIZE, PAGE_GATEWAY, 1);
}#ifdef CONFIG_HPUX
voidmap_hpux_gateway_page(struct task_struct *tsk, struct mm_struct *mm)
{
pgd_t *pg_dir;
pmd_t *pmd;
pte_t *pg_table;
unsigned long start_pmd;
unsigned long start_pte;
unsigned long address;
unsigned long hpux_gw_page_addr;
/* FIXME: This is 'const' in order to trick the compiler
into not treating it as DP-relative data. */
extern void * const hpux_gateway_page;
hpux_gw_page_addr = HPUX_GATEWAY_ADDR & PAGE_MASK;
/*
* Setup HP-UX Gateway page.
*
* The HP-UX gateway page resides in the user address space,
* so it needs to be aliased into each process.
*/
pg_dir = pgd_offset(mm,hpux_gw_page_addr);#if PTRS_PER_PMD == 1 start_pmd = 0; #else start_pmd = ((hpux_gw_page_addr >> PMD_SHIFT) & (PTRS_PER_PMD - 1)); #endif start_pte = ((hpux_gw_page_addr >> PAGE_SHIFT) & (PTRS_PER_PTE - 1));
---------------------------------------------------------------------------------------
Hi Nick,
Quoted 7 lines · nick
Greetings James and Other Maintainers of the Parisc Architecture, I am wondering about two fix mes in
init.cand how to fix them for being const declared into actual variables.
.../* FIXME: This is 'const' in order to trick the compiler into not treating it as DP-relative data. */ extern void * const linux_gateway_page;
The FIXME: is misleading. It should maybe better read "HINT:" or something like that. Trivially it's basically just casting the symbol so that the compiler will produce the correct code later on.
There is nothing you could try to "fix".
Helge
Quoted 4 lines · Helge Deller
The FIXME: is misleading. It should maybe better read "HINT:" or something like that. Trivially it's basically just casting the symbol so that the compiler will produce the correct code later on.
There is nothing you could try to "fix".
Why not just remove "FIXME: " from these comments?
Dave
Signature · 1 line
John David Anglin [email protected]