Hello List! The radio transmitter of my new centrino laptop is turned on by a BIOS function which resides at a certain location in memory. I know how to find the adress of the function's start but I don't yet know how to tell the OS that I do want to execute that memory region and make it let me do so. When running the program I get "Bus error (core dumped)". So the question is: Can I actually execute the BIOS code from userland or do I have to do it from kernelspace? How do I tell the kernel that I want the memory region to be executed and make it let me do so? Any help is appreciated. Thanks, Phil. -- This is a part of the code (I hope it's not going to be wrapped). bios_code_addr holds the BIOS function's start address and dev_mem is a file-descriptor to /dev/mem. ptr = mmap( 0, BIOS_CODE_SIZE, PROT_EXEC, 0, dev_mem, bios_code_addr ); __asm__ __volatile__ ( "call *%3 \t\n" : "=a"(eax) : "a"(eax), "b"(ebx), "c"(ptr) );Received on Sun Jun 06 2004 - 13:09:54 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:56 UTC