Devicetree
 help / color / mirror / Atom feed
From: Mitch Bradley <wmb-D5eQfiDGL7eakBO8gow8eQ@public.gmane.org>
To: Russell King - ARM Linux <linux-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org>
Cc: Nicolas Pitre <nico-vtqb6HGKxmzR7s880joybQ@public.gmane.org>,
	devicetree-discuss
	<devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org>,
	linuxppc-dev
	<linuxppc-dev-mnsaURCQ41sdnm+yROfE0A@public.gmane.org>,
	microblaze-uclinux-rVRm/Wmeqae7NGdpmJTKYQ@public.gmane.org,
	Dan Malek <ppc6dev-7kUUosv42bfn7oBBQGLwdg@public.gmane.org>,
	Jeremy Kerr <jeremy.kerr-Z7WLFzj8eWMS+FvcfC7Uqw@public.gmane.org>,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org
Subject: Re: Request review of device tree documentation
Date: Sun, 13 Jun 2010 21:45:50 -1000	[thread overview]
Message-ID: <4C15DE2E.1050905@firmworks.com> (raw)
In-Reply-To: <20100614073828.GA6095-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>

Russell King - ARM Linux wrote:
> On Sun, Jun 13, 2010 at 11:23:45PM -0600, Grant Likely wrote:
>   
>>>> Or perhaps the MMU and caches can be turned off for the duration of the
>>>> callback.
>>>> I don't have the details of ARM MMUs and caches reloaded into my head
>>>> yet.  Maybe next week...
>>>>         
>
> We've had these kinds of questions in the past.  Doing what you're asking
> above is not really an option - it requires:
>
> 1. disable all IRQs
> 2. setup 1:1 MMU mappings for code to turn off MMU
>    (requires new page table)
> 3. disable imprecise exceptions
> 4. flush caches and TLBS
> 5. jump to 1:1 mapping area for code to disable MMU
> 6. disable caches and mmu
> 7. call function
> 8. flush caches and TLBs
> 9. re-enable caches and mmu
> 10. re-enable imprecise exceptions
> 11. switch back to original MMU mappings
> 12. re-enable all IRQs
>
> This is fine if you don't care at all about interrupt latency.
> Unfortunately, most people do care about interrupt latency because
> that directly affects interactivity and system performance.  The
> called function could not enable interrupts or exceptions - as the
> CPU vectors are in virtual space, disabling the MMU effectively
> makes them disappear.
>
> Moreover, with the MMU and caches disabled, the CPU performance is
> extremely poor, so the called function will run slowly.
>
> So, disabling the MMU isn't really viable.
>   

None of this is a deal-breaker for the kind of debugging tasks that are 
the primary use case for the callback.

> Now, if the external code was fully PIC, we could then run it with
> the MMU enabled.  However, this wouldn't really help - the external
> code could not access any devices without knowledge of how the kernel
> setup the V:P translations.
>
> So you'd need to pass some kind of data structure giving locations of
> devices to the called code - but then what if the kernel doesn't have
> the device mapped?
>
>   

  parent reply	other threads:[~2010-06-14  7:45 UTC|newest]

Thread overview: 78+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-06-11 22:59 Request review of device tree documentation Grant Likely
     [not found] ` <AANLkTilK4YkRMJqlcRDOAlGBzpdlZuSo9NF5NrRNocHT-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-06-11 23:47   ` Dan Malek
     [not found]     ` <33BD8E86-9397-432A-97BF-F154812C157B-7kUUosv42bfn7oBBQGLwdg@public.gmane.org>
2010-06-12  2:58       ` Benjamin Herrenschmidt
2010-06-12  4:48         ` Mitch Bradley
2010-06-12  6:53     ` Grant Likely
     [not found]       ` <AANLkTilv6TtPZs0DAwd8JlSV_J3VvMsvtVVOOeQauOIn-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-06-12  8:19         ` Mitch Bradley
     [not found]           ` <4C13430B.5000907-D5eQfiDGL7eakBO8gow8eQ@public.gmane.org>
2010-06-12 10:45             ` Benjamin Herrenschmidt
2010-06-12 10:48               ` Benjamin Herrenschmidt
2010-06-12 16:30                 ` Mitch Bradley
     [not found]                   ` <4C13B618.1030006-D5eQfiDGL7eakBO8gow8eQ@public.gmane.org>
2010-06-12 22:52                     ` Benjamin Herrenschmidt
2010-06-13  5:07                       ` Grant Likely
     [not found]                         ` <AANLkTimRV8u3gDNCAIlROJoPcKs7jFwj2na3ZDFOg3O0-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-06-13  5:39                           ` Mitch Bradley
     [not found]                             ` <4C146F18.9030008-D5eQfiDGL7eakBO8gow8eQ@public.gmane.org>
2010-06-13  5:59                               ` Benjamin Herrenschmidt
2010-06-13  6:45                                 ` Mitch Bradley
     [not found]                                   ` <4C147EA5.3060500-D5eQfiDGL7eakBO8gow8eQ@public.gmane.org>
2010-06-13  8:29                                     ` Benjamin Herrenschmidt
2010-06-14  5:36                                       ` Grant Likely
2010-06-14 20:00                                         ` Ben Dooks
2010-06-13  8:57                                     ` Benjamin Herrenschmidt
2010-06-14  5:23                                 ` Grant Likely
     [not found]                                   ` <AANLkTinwL0XtMNG13inr_1UliOlqZkyr4dlvG-ZGL9JT-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-06-14  7:38                                     ` Russell King - ARM Linux
     [not found]                                       ` <20100614073828.GA6095-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2010-06-14  7:45                                         ` Mitch Bradley [this message]
2010-06-14  9:25                                           ` Russell King - ARM Linux
     [not found]                                             ` <20100614092559.GA7881-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2010-06-14  9:36                                               ` Benjamin Herrenschmidt
2010-06-14  9:47                                                 ` Russell King - ARM Linux
     [not found]                                                   ` <20100614094740.GB7881-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2010-06-14 14:29                                                     ` Jamie Lokier
2010-06-14 13:51                                     ` Nicolas Pitre
     [not found]                                       ` <alpine.LFD.2.00.1006140943350.13427-QuJgVwGFrdf/9pzu0YdTqQ@public.gmane.org>
2010-06-14 15:35                                         ` Grant Likely
     [not found]                                           ` <AANLkTim1mYpaxe-_OGbOF3AaZ6m5_SVUXLbeyKnAyvjs-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-06-14 15:58                                             ` Nicolas Pitre
     [not found]                                               ` <alpine.LFD.2.00.1006141143480.13427-QuJgVwGFrdf/9pzu0YdTqQ@public.gmane.org>
2010-06-14 16:16                                                 ` Grant Likely
2010-06-14  5:02                               ` Grant Likely
     [not found]                                 ` <AANLkTikls3hjXOmKFqG2D_9GaJSjOXNuuRXPlanAjo5E-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-06-14 12:44                                   ` David Gibson
2010-06-14 14:59                                     ` Nicolas Pitre
2010-06-14 15:08                                       ` Grant Likely
     [not found]                                       ` <alpine.LFD.2.00.1006141044510.13427-QuJgVwGFrdf/9pzu0YdTqQ@public.gmane.org>
2010-06-14 16:02                                         ` Jamie Lokier
2010-06-14 16:23                                           ` Nicolas Pitre
2010-06-14 16:29                                             ` Grant Likely
2010-06-14 16:28                                           ` Grant Likely
     [not found]                                             ` <AANLkTilZuMKzFN1hD1k4Q067jSkryPuWA2bhW0Y3GJTg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-06-14 16:33                                               ` Jamie Lokier
     [not found]                                           ` <20100614160201.GD9550-yetKDKU6eevNLxjTenLetw@public.gmane.org>
2010-06-14 16:58                                             ` Mitch Bradley
2010-06-14 17:26                                               ` Nicolas Pitre
     [not found]                                                 ` <alpine.LFD.2.00.1006141311580.13427-QuJgVwGFrdf/9pzu0YdTqQ@public.gmane.org>
2010-06-14 18:20                                                   ` Mitch Bradley
2010-06-14 19:40                                                     ` Nicolas Pitre
2010-06-14 20:08                                                       ` Mark Brown
2010-06-16  6:09                                               ` Mike Rapoport
     [not found]                                                 ` <4C186AA8.4040709-UTxiZqZC01RS1MOuV/RT9w@public.gmane.org>
2010-06-16  6:13                                                   ` Mitch Bradley
2010-06-16  6:17                                                     ` Mike Rapoport
     [not found]                                                       ` <4C186C72.2020506-UTxiZqZC01RS1MOuV/RT9w@public.gmane.org>
2010-06-16  6:32                                                         ` Mitch Bradley
2010-06-16  6:47                                                           ` Mike Rapoport
     [not found]                                                             ` <4C18738C.4090809-UTxiZqZC01RS1MOuV/RT9w@public.gmane.org>
2010-06-16  7:40                                                               ` Mitch Bradley
2010-06-16  9:45                                                                 ` Vladimir Pantelic
2010-06-16 10:39                                                                 ` Mike Rapoport
     [not found]                                                                   ` <4C18A9C7.5070800-UTxiZqZC01RS1MOuV/RT9w@public.gmane.org>
2010-06-16 11:41                                                                     ` Jamie Lokier
2010-06-16 13:48                                                                       ` Jamie Bennett
2010-06-16 14:39                                                                   ` Nicolas Pitre
2010-06-16 17:43                                                                     ` Tim Bird
     [not found]                                                           ` <4C187013.5000400-D5eQfiDGL7eakBO8gow8eQ@public.gmane.org>
2010-06-16  6:52                                                             ` M. Warner Losh
2010-06-18 22:12                                                               ` Frank Rowand
2010-06-15  2:02                                         ` David Gibson
2010-06-14 15:51                                     ` M. Warner Losh
2010-06-13  5:48                           ` Benjamin Herrenschmidt
2010-06-14  5:13                             ` Grant Likely
     [not found]                               ` <AANLkTikBjwuVvij8I91XaQgLfn8r_lZDrAsIBfJrHDBF-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-06-14  6:09                                 ` Benjamin Herrenschmidt
2010-06-14  6:17                                   ` Mitch Bradley
2010-06-12 22:15       ` Olof Johansson
2010-06-12 23:09         ` Grant Likely
2010-06-13  6:47           ` [microblaze-uclinux] " Edgar E. Iglesias
2010-06-12  3:00   ` Benjamin Herrenschmidt
2010-06-12  3:07     ` Benjamin Herrenschmidt
2010-06-13 13:12       ` Jeremy Kerr
2010-06-14  5:40         ` Grant Likely
2010-08-05  4:43   ` David Gibson
2010-09-01 16:19     ` Grant Likely
     [not found] ` <4C13C4D9.2030108@gatzka.org>
     [not found]   ` <AANLkTilAIr4XZvmcrNFIp-6Y1NdCV9SvFXceWWxaRCSP@mail.gmail.com>
     [not found]     ` <4C149DE1.1050800@gatzka.org>
     [not found]       ` <4C149DE1.1050800-tNItQxeJkt8dnm+yROfE0A@public.gmane.org>
2010-06-13 20:03         ` Grant Likely
     [not found]           ` <AANLkTim-FzAihEd0FE72dy3Ubb2yiIQh4rtI6TIMovFW-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-06-14 23:44             ` Grant Likely
     [not found]               ` <AANLkTikV9XqufTO9LVAql3nbySpPz_p_4kv7YY2b4UPW-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-06-15 19:25                 ` Stephan Gatzka
     [not found]   ` <4C13C4D9.2030108-tNItQxeJkt8dnm+yROfE0A@public.gmane.org>
2010-06-14  5:54     ` Grant Likely
  -- strict thread matches above, loose matches on Subject: below --
2010-08-05 15:15 Terren Chow
     [not found] ` <AANLkTikFNFvM7x6TzN8DPM9E4vC0KVRb0sz4r2wu_nZ+-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-08-05 16:41   ` Grant Likely

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4C15DE2E.1050905@firmworks.com \
    --to=wmb-d5eqfidgl7eakbo8gow8eq@public.gmane.org \
    --cc=devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org \
    --cc=jeremy.kerr-Z7WLFzj8eWMS+FvcfC7Uqw@public.gmane.org \
    --cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
    --cc=linux-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org \
    --cc=linuxppc-dev-mnsaURCQ41sdnm+yROfE0A@public.gmane.org \
    --cc=microblaze-uclinux-rVRm/Wmeqae7NGdpmJTKYQ@public.gmane.org \
    --cc=nico-vtqb6HGKxmzR7s880joybQ@public.gmane.org \
    --cc=ppc6dev-7kUUosv42bfn7oBBQGLwdg@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox