How can I place an array at a specific address at boot time
<p>I am writing a small hobby OS as a learning experience. It's aimed at a 32-bit x86 architecture.</p>

<p>I am at the point where I need to create an initial page_directory so I can enable paging. At this point paging (and thus VM) is not enabled.</p>

<p>I have a function that reserves 4kb of unused memory and returns the starting address of this memory block.</p>

<p>I want to create an array, <code>page_dir</code> (consisting of 1024 int), at the memory location returned by the function described above. </p>

<p>I understand the basic on pointers (I think), but I can't figure out how to do this.</p>

<p><strong>How can I define the array <code>page_table</code> at the physical address returned during runtime?</strong></p>