<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-12330967</id><updated>2012-01-29T04:12:34.406-08:00</updated><title type='text'>Sysenter</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://ksrenevasan.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12330967/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://ksrenevasan.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Kaushik</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>4</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-12330967.post-112832156538812684</id><published>2005-10-02T23:39:00.000-07:00</published><updated>2005-10-05T23:48:57.380-07:00</updated><title type='text'>Writing multiboot PE kernels using Visual C++ - Part II</title><summary type='text'>My earlier post explained “how” you can write a multiboot kernel using VC++. This post will explain “why” I wrote the kernel the way I did.The linker (link.exe) puts machine code of functions in the source text into the .text section in the order it finds them in the source.All PE headers never add up to a total size that exceeds 4K. So when file alignment is 4K (== memory alignment), the .text </summary><link rel='replies' type='application/atom+xml' href='http://ksrenevasan.blogspot.com/feeds/112832156538812684/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12330967&amp;postID=112832156538812684&amp;isPopup=true' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12330967/posts/default/112832156538812684'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12330967/posts/default/112832156538812684'/><link rel='alternate' type='text/html' href='http://ksrenevasan.blogspot.com/2005/10/writing-multiboot-pe-kernels-using_03.html' title='Writing multiboot PE kernels using Visual C++ - Part II'/><author><name>Kaushik</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12330967.post-112819421334077516</id><published>2005-10-01T12:16:00.000-07:00</published><updated>2012-01-29T04:12:34.432-08:00</updated><title type='text'>Writing multiboot PE kernels using Visual C++</title><summary type='text'>Update [1/29/2012]: Source code now available here.

Aspiring operating system developers who target x86 often don’t get beyond writing a boot sector (seldom do they even complete it) because of the inordinate amount of time needed to understand the “tricks” required to get the processor into a “sane” mode of operation before the kernel can start executing. That’s why newbie kernel developers are</summary><link rel='replies' type='application/atom+xml' href='http://ksrenevasan.blogspot.com/feeds/112819421334077516/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12330967&amp;postID=112819421334077516&amp;isPopup=true' title='13 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12330967/posts/default/112819421334077516'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12330967/posts/default/112819421334077516'/><link rel='alternate' type='text/html' href='http://ksrenevasan.blogspot.com/2005/10/writing-multiboot-pe-kernels-using.html' title='Writing multiboot PE kernels using Visual C++'/><author><name>Kaushik</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>13</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12330967.post-112584460218307476</id><published>2005-09-04T07:36:00.000-07:00</published><updated>2005-09-04T07:44:56.880-07:00</updated><title type='text'>Rotor callstack notes...</title><summary type='text'>Just in case I loose my handwritten copy…

</summary><link rel='replies' type='application/atom+xml' href='http://ksrenevasan.blogspot.com/feeds/112584460218307476/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12330967&amp;postID=112584460218307476&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12330967/posts/default/112584460218307476'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12330967/posts/default/112584460218307476'/><link rel='alternate' type='text/html' href='http://ksrenevasan.blogspot.com/2005/09/rotor-callstack-notes.html' title='Rotor callstack notes...'/><author><name>Kaushik</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12330967.post-112383010404277252</id><published>2005-08-11T23:54:00.000-07:00</published><updated>2005-08-12T01:17:55.003-07:00</updated><title type='text'>(Incomplete) Rotor GC notes</title><summary type='text'>
  All threads running managed code are suspended (after 
  bringing it to a “GC safe” place) 
  One or more generations are condemned 
  Liveliness trace is used to distinguish live from dead objects in- Gen 
  0 alone for ephemeral collection- Gen 0 + 1 for full collection 
  If ephemeral collection (copying collection) 
  
    Live ephemeral objects are promoted into the elder 
    generation </summary><link rel='replies' type='application/atom+xml' href='http://ksrenevasan.blogspot.com/feeds/112383010404277252/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12330967&amp;postID=112383010404277252&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12330967/posts/default/112383010404277252'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12330967/posts/default/112383010404277252'/><link rel='alternate' type='text/html' href='http://ksrenevasan.blogspot.com/2005/08/incomplete-rotor-gc-notes.html' title='(Incomplete) Rotor GC notes'/><author><name>Kaushik</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
