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