{"id":1160,"date":"2022-08-30T15:13:23","date_gmt":"2022-08-30T15:13:23","guid":{"rendered":"https:\/\/unknownerror.org\/index.php\/2013\/11\/09\/problem-about-osdev-collection-of-common-programming-errors\/"},"modified":"2022-08-30T15:13:23","modified_gmt":"2022-08-30T15:13:23","slug":"problem-about-osdev-collection-of-common-programming-errors","status":"publish","type":"post","link":"https:\/\/unknownerror.org\/index.php\/2022\/08\/30\/problem-about-osdev-collection-of-common-programming-errors\/","title":{"rendered":"problem about osdev-Collection of common programming errors"},"content":{"rendered":"<ul>\n<li><img decoding=\"async\" src=\"http:\/\/www.gravatar.com\/avatar\/497264ce9a02fdd795e3029e7302639d?s=32&amp;d=identicon&amp;r=PG\" \/><br \/>\nLord Loh.<br \/>\noperating-system boot bios osdev efi<br \/>\nI am attempting to develop a simple OS. I have done some assembly programs before and have had to use INT 10h to display characters to the screen. I understand that UEFI has suppor<\/li>\n<li><img decoding=\"async\" src=\"http:\/\/www.gravatar.com\/avatar\/d7da8c4d76163f536ce5cf3c378c358e?s=32&amp;d=identicon&amp;r=PG\" \/><br \/>\nUnsigned<br \/>\nc++ operating-system mingw osdev djgpp<br \/>\nTrying to compile a C++ kernel project with MinGW &amp; NASM (formerly DJGPP &amp; NASM). Have actually tried Cygwin too, with the exact same results below:First, just swapped out \\DJGPP\\bin for \\MinGW\\bin. Got the following link error: target coff-go32 not found. Swapped target to elf32-i386, and got cannot perform PE operation<\/li>\n<li><img decoding=\"async\" src=\"http:\/\/www.gravatar.com\/avatar\/72e1d589057a5499660fb56c46ff0327?s=32&amp;d=identicon&amp;r=PG\" \/><br \/>\nNitin Kunal<br \/>\ntlb osdev cpu-cache page-fault<br \/>\nThis in reference to InteI&#8217;s Software Developer\u2019s Manual (Order Number: 325384-039US May 2011), the section 4.10.4.4 &#8220;Delayed Invalidation&#8221; describes a potential delay in invalidation of TLB entries which can cause unpredictable results while accessing memory whose paging-structure entry has been changed.The manual says &#8230; &#8220;Required invalidations may be delayed under some circumstances<\/li>\n<li><img decoding=\"async\" src=\"http:\/\/www.gravatar.com\/avatar\/d5f91983a9d9cfb69981b6108a63b412?s=32&amp;d=identicon&amp;r=PG\" \/><br \/>\nskaffman<br \/>\nx86 kernel nasm bootloader osdev<br \/>\nI am making a custom Operating System. I have two nasm files:boot.asm:[BITS 16] ;tell the assembler that its a 16 bit code [ORG 0x7C00] ;Origin, tell the assembler that where the code will ;be in memory after it is been loadedINT 0x13JMP $ ;infinite loopTIMES 510 &#8211; ($ &#8211; $$) db 0 ;fill the rest of sector with 0 DW 0xAA55 ; add boot sign<\/li>\n<li><img decoding=\"async\" src=\"http:\/\/www.gravatar.com\/avatar\/e73f3094956bbe7480cee0af6f04c6b5?s=32&amp;d=identicon&amp;r=PG\" \/><br \/>\nCommunistPancake<br \/>\nc assembly operating-system osdev<br \/>\nI&#8217;ve got a file called idt.c, and in this file, I need to call the function idt_load from assembly. Now, this would work just fine, except that I need to access a variable, idtp from the assembly f<\/li>\n<li><img decoding=\"async\" src=\"http:\/\/www.gravatar.com\/avatar\/1b2b5d5007262ea3f9e21ab5b15f8b75?s=32&amp;d=identicon&amp;r=PG\" \/><br \/>\ncasperOne<br \/>\nc++ assembly cross-compiling ld osdev<br \/>\nI am trying to compile my kernel, but at link time I get:DescriptorTables.cpp:(.text+0x123): undefined reference to `gdt_flush(unsigned int)&#8217;gdt_flush is a fun<\/li>\n<\/ul>\n<p id=\"rop\"><small>Originally posted 2013-11-09 23:33:14. <\/small><\/p>","protected":false},"excerpt":{"rendered":"<p>Lord Loh. operating-system boot bios osdev efi I am attempting to develop a simple OS. I have done some assembly programs before and have had to use INT 10h to display characters to the screen. I understand that UEFI has suppor Unsigned c++ operating-system mingw osdev djgpp Trying to compile a C++ kernel project with [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-1160","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/posts\/1160","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/comments?post=1160"}],"version-history":[{"count":0,"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/posts\/1160\/revisions"}],"wp:attachment":[{"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/media?parent=1160"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/categories?post=1160"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/tags?post=1160"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}