|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Minios-devel] [PATCH 03/40] arm64: add the boot code
On Wed, Nov 08, 2017 at 09:46:35AM +0000, Julien Grall wrote:
> Hi Shijie,
>
> On 08/11/17 06:17, Huang Shijie wrote:
> > On Tue, Nov 07, 2017 at 01:39:44PM +0000, Julien Grall wrote:
> > > Hi Shijie,
> > >
> > > More question about the boot code...
> > >
> > > On 03/11/17 03:11, Huang Shijie wrote:
> > > > +ENTRY(_start)
> > > > + /* Save the FDT pointer */
> > > > + mov x20, x0
> > > > +
> > > > + /* Calculate where we are */
> > > > + bl _calc_offset
> > > > +
> > > > + PRINT("- Mini-OS booting -\n")
> > > > +
> > > > + PRINT("- Setup CPU -\n")
> > > > + /* Setup CPU for turning on the MMU. */
> > > > + bl _setup_cpu
> > > > +
> > > > + PRINT("- Setup booting pagetable -\n")
> > > > + /* Setup the initial page table. */
> > > > + bl _setup_initial_pgtable
> > > > +
> > > > + /* Setup the identity mapping */
> > > > + bl _setup_idmap_pgtable
> > > > +
> > > > + /* Load TTBRx */
> > > > + msr ttbr1_el1, x4
> > > > + msr ttbr0_el1, x5
> > >
> > > First at all, this is not entirely obvious where x4 and x5 are been set.
> > > Proper documentation would be needed for that.
> > Okay, I will add more document for it.
> >
> > >
> > > Now, IIUC the code TTBR0_EL1 will contain the identity mappings. I was
> > > expecting to see it removed as soon as MMU is enabled. But this does not
> >
> > Why should we remove it after the MMU is enabled?
> >
> > Is there any problem if we keep it?
>
> Well, after the MMU is enabled the OS should never address the identity
> mapping. If there are a programming error, that region may be accessed by
> errror. So instead of getting a fault you would corrupt memory. The latter
> is really hard to debug.
Okay. I will clear it to 0 in next version.
Thanks
Huang Shijie
_______________________________________________
Minios-devel mailing list
Minios-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/cgi-bin/mailman/listinfo/minios-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |