[parisc-linux] a pretty big change

John David Anglin dave@hiauly1.hia.nrc.ca
Fri, 3 Dec 1999 20:31:45 -0500 (EST)


I read ee.html this evening.  Having already tracked down one problem
where the real-mode code went off into never-never land when I tried to
print out a string, I agree that separate comilation, linking and conversion
is a good idea.  The size of real-mode code is limited with our current
scheme.  Thus, we may reach the point where it is impossible to link
all real-mode code.

Regarding your example, the problem is that a function address is a PLABEL.
PLABELs are stored in the text space.  I think the problem can be avoided
if the function address is put into a structure which is stored in the
data space.

> I just committed the changes to embed real-mode code in a separate
> executable inside vmlinux.  It should cause no functional changes
> in theory.  Read all about it in arch/parisc/real/README and
> ee.html.  If you have terrible new problems,
> I've attached a list of CVS commands to check out the files before I
> started hacking on them.  I haven't seen a shell prompt from this
> set of hacks so beware...
> 
> 	-Paul Bame
> 
> prumpf- I moved kernel_thread and friends from
> 	real/<something> to kernel/head.S  I also re-enabled BTLB in
> 	real/setup.c so I could get further in the boot.  Left some
> 	debugging printks in the handle_real_interrupt handler too.
> 
> cvs update -r1.25 arch/parisc/Makefile
> 	cvs update -A arch/parisc/Makefile
> cvs update -r1.28 arch/parisc/kernel/Makefile
> 	cvs update -A arch/parisc/kernel/Makefile
> cvs update -r1.35 arch/parisc/kernel/head.S
> 	cvs update -A arch/parisc/kernel/head.S
> cvs update -r1.39 arch/parisc/kernel/irq.c
> 	cvs update -A arch/parisc/kernel/irq.c
> cvs update -r1.14 arch/parisc/kernel/pdc.c
> 	cvs update -A arch/parisc/kernel/pdc.c
> cvs update -r1.25 arch/parisc/kernel/pdc_cons.c
> 	cvs update -A arch/parisc/kernel/pdc_cons.c
> cvs update -r1.73 arch/parisc/kernel/setup.c
> 	cvs update -A arch/parisc/kernel/setup.c
> cvs update -r1.11 arch/parisc/kernel/traps.c
> 	cvs update -A arch/parisc/kernel/traps.c
> cvs update -r1.2 arch/parisc/real/Makefile
> 	cvs update -A arch/parisc/real/Makefile
> cvs update -r1.2 arch/parisc/real/head.S
> 	cvs update -A arch/parisc/real/head.S
> cvs update -r1.2 arch/parisc/real/interruption.S
> 	cvs update -A arch/parisc/real/interruption.S
> cvs update -r1.2 arch/parisc/real/lib.c
> 	cvs update -A arch/parisc/real/lib.c
> cvs update -r1.2 arch/parisc/real/pdc.c
> 	cvs update -A arch/parisc/real/pdc.c
> cvs update -r1.2 arch/parisc/real/real.h
> 	cvs update -A arch/parisc/real/real.h
> cvs update -r1.2 arch/parisc/real/real_s.S
> 	cvs update -A arch/parisc/real/real_s.S
> cvs update -r1.2 arch/parisc/real/setup.c
> 	cvs update -A arch/parisc/real/setup.c
> cvs update -r1.1 arch/parisc/real/traps.c
> 	cvs update -A arch/parisc/real/traps.c
> cvs update -r1.1 include/asm-parisc/real.h
> 	cvs update -A include/asm-parisc/real.h
> 
> ---------------------------------------------------------------------------
> To unsubscribe: send e-mail to parisc-linux-request@thepuffingroup.com with
> `unsubscribe' as the subject.
> 
> 


-- 
J. David Anglin                                  dave.anglin@nrc.ca
National Research Council of Canada              (613) 990-0752 (FAX: 952-6605)