osdev Questions

1

Solved

I have been trying to create an ISR handler following this tutorial by James Molloy but I got stuck. Whenever I throw a software interrupt, general purpose registers and the data segment register ...
Manageable asked 6/6, 2019 at 16:22

1

Solved

I am developing a simple and small 64bit OS. Until now I've used a single file and compile it with NASM: nasm -f bin os.asm -o os.bin Then tested the .bin file with qemu. Now I need to use multi...
Counsellor asked 1/6, 2019 at 18:11

2

Solved

In a previous Stackoverflow answer Margaret Bloom says: Waking the APs This is achieved by inssuing a INIT-SIPI-SIPI (ISS) sequence to the all the APs. The BSP that will send the ISS seque...
Nineteen asked 30/5, 2019 at 19:10

2

Solved

Looking into the internals of Linux and memory management, I just stumbled upon the segmented paging model that Linux uses. Correct me if I am wrong, but Linux (protected mode) does use paging for...
Meow asked 20/5, 2019 at 2:4

1

Solved

GGC's inline assembly can be difficult to implement properly and easy to get wrong1. From a higher level perspective inline assembly has some rules that have to be considered outside of what instru...
Naidanaiditch asked 15/5, 2019 at 21:50

1

Solved

I was engaged with an expert who allegedly has vastly superior coding skills than myself who understands inline assembly far better than I ever could. One of the claims is that as long as an oper...
Clitoris asked 15/5, 2019 at 5:48

2

Solved

I am writing a GDT for a Kernel and all is going well, I'm following this tutorial. http://www.osdever.net/bkerndev/Docs/gdt.htm When link the C code to the assembly code he uses this piece of co...
Excavate asked 22/3, 2018 at 21:11

1

Solved

I have been following this guide for OS development OS Development on Windows However, I do not like the windows development environment, and so I am trying to transfer these instructions over to ...
Polacca asked 28/3, 2019 at 23:35

1

Solved

It's me again, I have a new problem in my idt.S file (Intel syntax compiled with gcc). When I try to compile the following code: load_idt: mov edx, (esp + 4) ; On this line lidt (edx) sti ret ...
Flowerdeluce asked 3/3, 2019 at 15:25

2

Solved

I'm in 32-bit protected mode running at current privilege level (CPL=0). I'm trying to enter v8086 mode by setting EFLAGS.VM (Bit 17) flag to 1 (and IOPL to 0) and doing a FAR JMP to my 16-bit real...
Suasion asked 23/2, 2019 at 19:48

1

Solved

Reading the documentation between Intel and AMD and looking at code makes it difficult at times to understand how to create a proper Task State Segment (TSS) that has no IO port bitmap (IOPB). Ther...
Outsell asked 25/2, 2019 at 23:4

1

Solved

I am developing a 32 bit, protected mode hobby operating system. At the moment, I am looking to add simple sound support. To do this, I'm looking to use the sound blaster 16 and use the direct mode...
Leakage asked 14/11, 2018 at 18:34

1

Solved

Well I have written a bootloader in assembly and trying to load a C kernel from it. This is the bootloader: bits 16 xor ax,ax jmp 0x0000:boot extern kernel_main global boot boot: mov ah, 0x02 ...
Lorislorita asked 25/9, 2018 at 13:31

1

Solved

from Wikipedia On an IBM PC compatible machine, the BIOS selects a boot device, then copies the first sector from the device (which may be a MBR, VBR or any executable code), into physical mem...
Ambo asked 24/8, 2018 at 0:34

1

Solved

I'm writing a DOS clone for a school project and I'm trying to read some sectors from a floppy drive (mainly the root directory of a FAT12 file system, sector 19) using BIOS INT 13, 2. I set the pa...
Dunghill asked 27/7, 2018 at 11:56

0

In a comment to this question, Unexpected behaviour in simple pointer arithmetics in kernel space C code, Michael Petch wrote, "The 64-bit ELF format supports 32-bit code sections." I have a worki...
Iphigenia asked 25/3, 2018 at 6:12

2

Solved

I'm currently getting into bootloaders and kernel development (very much beginning) I'm following a combination of https://www.cs.bham.ac.uk/~exr/lectures/opsys/10_11/lectures/os-dev.pdf and the c...
Dyl asked 5/2, 2018 at 10:36

1

Solved

I'm working on writing own little os. I already done booting, entering protected mode, some text printing and serial communication with qemu. I've been trying to add interrupts for over two days. I...
Unhandled asked 25/2, 2018 at 2:44

3

I am building an 32 bit OS in assembly. I have setup the IDT and I am handling program interruptus through int instruction. How can I enable the syscall and sysenter instructions and how do I hand...

1

Solved

The OSDev wiki says that: It is traditional and generally good to have your kernel mapped in every user process Why is that though? Can't the process be mapped to memory solely? What are the a...
Carboni asked 20/10, 2017 at 10:57

4

Solved

In x86 Real Mode rebooting is very simple. You can either use the BIOS or: jmp 0xFFFF:0000 But how should one reboot when in Protected Mode?
Durden asked 4/6, 2015 at 1:27

1

Solved

In the following x86 assembly code: dd 0x1BADB002 dd 0x00 dd - (0x1BADB002+0x00) The values don't seem to be assigned to any variables. So what does this snippet of code do? I've heard something...
Cymoid asked 1/10, 2017 at 14:33

1

Solved

I am writing an OS in Rust and need to directly call into a virtual address that I'm calculating (of type u32). I expected this to be relatively simple: let code = virtual_address as (extern "...
Redoubt asked 9/9, 2017 at 19:41

1

Solved

this is the problem: When I link my scripts in C, using ld, when I generate elf32-i386 files as output format in ld, putting it as OUTPUT_FORMAT() in the ld script, I dont have any error, but if I ...
Autotruck asked 31/7, 2017 at 17:55

1

Solved

What is the correct gnu assembly syntax for doing the following: .section .data2 .asciz "******* Output Data ********" total_sectors_written: .word 0x0 max_buffer_sectors: .word ((0x9fc00 - $data_...
Wilda asked 3/5, 2017 at 17:27

© 2022 - 2024 — McMap. All rights reserved.