Hello!
> > 00004798 B monitor_pages
> > 00004824 B freemware_end
> > 000763d4 ? __module_kernel_version
> Looks much better ...
> > mordor kernel: freemware: start: c281b888 end: c281f8d4: init: c281b8bc pages: 5
> But it's still inconsistent: the difference between freemware_end and
> freemware_start according to nm is 4824, while it is 404C according
> to the printk output!
Hmm. Really strange.
> Could you send me the output of 'insmod -v -m freemware.o' ?
Sections: Size Address Align
.this 0000004c c2822000 2**2
.rodata 00000829 c282204c 2**0
__ex_table 00000010 c2822878 2**2
.text 00003b05 c2822888 2**2
.data 00000000 c2826390 2**2
.kstrtab 0000000a c2826390 2**0
.bss 000004c8 c282639c 2**2
Symbols:
00000000 a emulation.c
00000000 a host-linux.c
00000000 a monitor.c
00000000 a fault.c
c2822000 d __this_module
c282204c r .rodata
c2822878 r __ex_table
c2822888 T pending_signals
c2822888 T freemware_start
c2822888 t .text
c28228bc t init_module
c2822970 t cleanup_module
c2822990 t fmw_open
c28229e0 t fmw_release
c2822a24 t fmw_ioctl
c2822c20 t fmw_mmap
c2822cfc T fmw_read_procmem
c2822d4c t run_guest_loop
c2822dc3 t __soft_int_n
c2822dc5 t __soft_int_vector
c2822eec t retrieve_monitor_pages
c2822fd4 t unalloc_vm_pages
c28232f4 t alloc_vm_pages
c2823960 T printit
c2823974 T init_monitor
c282437c t init_idt_slot
c28244cc t map_monitor
c2824904 t unmap_monitor
c2824af0 T host2guest
c2824b60 t map_nexus_pages
c2824bd4 T set_guest_context
c2824c58 T get_guest_context
c2824c80 t __nexus_start
c2824c80 t __host_gdt_info
c2824c86 t __host_idt_info
c2824c8c t __host_jmp_info
c2824c92 t __host_stack_info
c2824c98 t __host_ldt_sel
c2824c9a t __host_tss_sel
c2824c9c t __host_cr0
c2824ca0 t __host_cr2
c2824ca4 t __host_cr3
c2824ca8 t __host_cr4
c2824cac t __mon_gdt_info
c2824cb2 t __mon_idt_info
c2824cb8 t __mon_jmp_info
c2824cbe t __mon_stack_info
c2824cc4 t __mon_ldt_sel
c2824cc6 t __mon_tss_sel
c2824cc8 t __mon_cr3
c2824ccc t __mon_base
c2824cd0 t __guest_gdt_info
c2824cd6 t __guest_idt_info
c2824cdc t __guest_ldt_sel
c2824cde t __guest_tss_sel
c2824ce0 t __guest_ldt_descr
c2824ce8 t __guest_tss_descr
c2824cf0 t __guest_cpl
c2824cf4 t __transition_pde
c2824cf8 t __transition_pde_p_host
c2824cfc t __transition_pde_p_mon
c2824d00 t __transition_laddr
c2824d04 t __module_offset
c2824d08 t __nexus_offset
c2824d0c t __idt_offset
c2824d10 t __gdt_offset
c2824d14 t __ldt_offset
c2824d18 t __tss_offset
c2824d1c t __idt_stubs_offset
c2824d20 t __page_dir_offset
c2824d24 t __debug_msg
c2824d30 T __host2guest
c2824d3d t null_call
c2824dce t null_jmp0
c2824df0 t __mon_cs
c2824e3e T __guest2host
c2824e47 t fault_to_host
c2824e76 t __mon_nexus_jmp
c2824e9c t null_jmp1
c2824ebb t __host_cs
c2824eee T __handle_fault
c2824f1d t __nexus_end
c2824f20 T handle_fault
c2824f28 t guest_stack_pop
c2824f80 t guest_stack_push
c2824fcc t read_guest_descriptor
c2825058 t write_guest_descriptor
c28250d8 t read_guest_gate
c2825168 t decode_register
c28252ec t decode_memory_operand
c2825368 t decode_effective_address
c2825658 t decode_rm_operand
c28256a0 T emulate
c2825ae4 T emulate_cli
c2825afc T emulate_sti
c2825b14 T emulate_clts
c2825b2c T emulate_lgdt
c2825cbc T emulate_lidt
c2825d14 T emulate_lldt
c2825d84 T emulate_ltr
c2825e08 T emulate_load_ds
c2825e48 T emulate_load_es
c2825e88 T emulate_load_fs
c2825ec8 T emulate_load_gs
c2825f08 T emulate_load_ss
c2825f88 T emulate_int
c28261e0 T emulate_iret
c2826390 d .data
c282639c d .bss
c282639c d redir_cnt
c282679c d fmw_fops
c28267d8 D monitor_pages
c2826864 D freemware_end
Bye,
Oleg