Hello!

> > ironmaiden kernel: freemware: start: c402c8d0 end: c402f790: init: c402c904 pages: 
>4
> > ironmaiden kernel: freemware: vm c402c000..c402cfff -> page 00000d04
> > ironmaiden kernel: freemware: vm c402d000..c402dfff -> page 00000c12
> > ironmaiden kernel: freemware: vm c402e000..c402efff -> page 00000e78
> > ironmaiden kernel: freemware: vm c402f000..c402ffff -> page 00000f23
> OK, so it crashes only when handle_fault is called.  Does it still
> crash when you add a 'return 0' as the first line of handle_fault?
Yes. It still reboots.

> 
> In any case, the addresses of the 'freemware_start' symbol looks
> suspicious, it should be near a page boundary ...  Can you do a
>   nm freemware.o | sort
> and check whether 'freemware_start' and 'freemware_end' are really
> the first resp. last symbol of the module?
        U __alloc_pages
         U __free_pages_ok
         U __mon_cs
         U __mon_nexus_jmp
         U __nexus_end
         U __nexus_start
         U __this_module
         U contig_page_data
         U create_proc_entry
         U kfree
         U kmalloc
         U max_mapnr
         U mem_map
         U printk
         U register_chrdev
         U remap_page_range
         U remove_proc_entry
         U schedule
         U sprintf
         U unregister_chrdev
00000000 T freemware_start

[skip]
000004d8 B freemware_end
0000053b t __soft_int_n
0000053d t __soft_int_vector
00000678 t retrieve_monitor_pages
00000738 t unalloc_vm_pages
00000a58 t alloc_vm_pages
000010c4 T printit
000010d8 T init_monitor
00002090 t init_idt_slot
000021e4 T host2guest
00002250 t map_nexus_pages
000022c4 T set_guest_context
00002348 T get_guest_context
... [ a lot of symbols with t and T type ]
0006da5c ? __module_kernel_version


> If not, maybe the compiler/linker you are using doesn't cope correctly
> with the host-linux.ld linker script.  Or maybe the Linux 2.3.xx headers
Reading specs from /usr/lib/gcc-lib/i386-slackware-linux/2.7.2.3/specs
gcc version 2.7.2.3
GNU ld version 2.9.1 (with BFD 2.9.1.0.25)
Standart compiler/linker...

> create references to sections not mentioned in that script?  What does
>   objdump --section-headers freemware.o
> say?
freemware.o:     file format elf32-i386

Sections:
Idx Name          Size      VMA       LMA       File off  Algn
  0 .text         000029c2  00000000  00000000  00000034  2**2
                  CONTENTS, ALLOC, LOAD, RELOC, CODE
  1 .fixup        00000018  00000000  00000000  000029f6  2**0
                  CONTENTS, ALLOC, LOAD, RELOC, READONLY, CODE
  2 .rodata       0000082d  00000018  00000018  00002a0e  2**0
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  3 __ex_table    00000010  00000000  00000000  0000323c  2**2
                  CONTENTS, ALLOC, LOAD, RELOC, READONLY, DATA
  4 .data         00000000  00000010  00000010  0000324c  2**2
                  CONTENTS, ALLOC, LOAD, DATA
  5 .bss          000004c8  00000010  00000010  0000324c  2**2
                  ALLOC
  6 .stab         0001cbf0  000004d8  000004d8  0000324c  2**2
                  CONTENTS, RELOC, READONLY, DEBUGGING
  7 .stabstr      000508f4  0001d0c8  0001d0c8  0001fe3c  2**0
                  CONTENTS, READONLY, DEBUGGING
  8 .comment      00000050  0006d9bc  0006d9bc  00070730  2**0
                  CONTENTS, READONLY
  9 .note         00000050  0006da0c  0006da0c  00070780  2**0
                  CONTENTS, READONLY
 10 .modinfo      00000016  0006da5c  0006da5c  000707d0  2**0
                  CONTENTS, READONLY
 11 __ksymtab     00000000  0006da72  0006da72  000707e6  2**0
                  CONTENTS, READONLY


Bye,
    Oleg

Reply via email to