Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [tcf-dev] Services and the memory map
  • From: Eugene Tarassov <eugenet@xxxxxxxxxx>
  • Date: Thu, 19 Nov 2020 01:57:52 +0000
  • Accept-language: en-US
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=xilinx.com; dmarc=pass action=none header.from=xilinx.com; dkim=pass header.d=xilinx.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=rjW6LZPZ/5EbJBH014UGXftVUB6TJDGzLOjTFv07Obg=; b=Mm/+BZxZYbm5nu584hm0znaQlo607MoiWVGwHfyPWffo0MUprycSL0mzpTAlGqJVwg3NsZHXag0/fOCbZilKtABR781YKxSU7UvNXnDxxajR7PVTzCpuqcZBVoWCdKCktBallcGg8fK0bWtKtaA7+1EjUqgAarY8WZ6Q1NYpymAN1jUra3vQl4By6NV9KYa4b3DptyffOLjEg7TJdqmXLPNM6PESfEuRx9K7Hhc1FruYGLJfyVk5nJInxFV/uXaj69O9WkbM1WDdy9q2PIDBm57Avx51hw/fpDb3eb7qIceYUCYXIswYDe91Ll02cPr0vokpcCw3MWkWjS9SQ9gt1g==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OZsvcYtOntsVL00343uN4KqU/9uSus+UqWfXTBCU6/gUOOSuu1rd2GxVp95BWP7FGfVc4DDS+8Q0ep8nGg4nF7JmnjKvV8Xheaho9CNhC5jBidkbEP1n0IBUGho7NjTf91PRoQGJ/OROA3lGmYAu9v6t/bq9q9MzD1HC0NJLHYxNAyC5iIlU//deP1Mvwm7bEb+HIFBL5UucYt6rJoR/huHBIcgyIAoE+ydLiBIbnclH6XDKnvKJ+n8pBbi2cJmLtMuJT9xXKq18QHmawo20dvjo6awKPnI2/0hNhzFX3LTraV/dIxEAJWXmQJ2jzuTQZWJxp29HoPqr2YCvYQ7eow==
  • Delivered-to: tcf-dev@xxxxxxxxxxx
  • List-archive: <https://www.eclipse.org/mailman/private/tcf-dev>
  • List-help: <mailto:tcf-dev-request@eclipse.org?subject=help>
  • List-subscribe: <https://www.eclipse.org/mailman/listinfo/tcf-dev>, <mailto:tcf-dev-request@eclipse.org?subject=subscribe>
  • List-unsubscribe: <https://www.eclipse.org/mailman/options/tcf-dev>, <mailto:tcf-dev-request@eclipse.org?subject=unsubscribe>
  • Thread-index: Ada+BYBpY2t1oH5yQPykVZoQVlkVUwADkGpQ
  • Thread-topic: Services and the memory map

Hi Mircea,

For the mappings to be editable by the user in the Eclipse GUI, the proper use is:

C. The command reply provides an array of MemoryRegion objects, then the reply handler adds the regions to the launch attribute TCFLaunchDelegate.ATTR_MEMORY_MAP. The Eclipse GUI logic sends a MemoryMap.set when the attribute changes. The attribute can be edited with the Symbol Files dialog or by any custom logic.

Regards,
Eugene

-----Original Message-----
From: tcf-dev-bounces@xxxxxxxxxxx <tcf-dev-bounces@xxxxxxxxxxx> On Behalf Of Gherzan, Mircea
Sent: Wednesday, November 18, 2020 4:08 PM
To: TCF Development <tcf-dev@xxxxxxxxxxx>
Subject: [tcf-dev] Services and the memory map

CAUTION: This message has originated from an External Source. Please use proper judgment and caution when opening attachments, clicking links, or responding to this email.


Hi Eugene,

Please, can you shed some light about the _proper_ use of the MemoryMap API? Here's the scenario: an user clicks a button in the Eclipse GUI, which results in the invocation of a custom TCF service command, with the final end-user result that some modules get automagically loaded in the Modules view for the selected context. The service command in the agent uses the context_() API to find some (PE/COFF, ELF) modules on the desired context. The resulted modules mappings should be editable by the user in the Eclipse GUI. My question, please: what is the "proper" TCF way to achieve this? I see two options:

A. The command reply provides an array of MemoryRegion objects, then some custom Eclipse GUI logic send a MemoryMap.set with them included.
        Pro: pretty clean, no breaking of semantics/stacking
        Con: round-trip to the GUI and back

B. The service logic in the agent gets some "side-band" write access to the data container that "feeds" the context_get_memory_map() of the desired context, so the modules land in the "target" map.
        Pro: smaller round-trip (an event would still be needed though to tell the GUI client to "pull" the new mappings)
        Cons:
                1. module entries not editable by the end-user because they are part of the "target" map.
                2. breaking the API/stacking, as there's direct access from a service to a context-specific implementation detail

Are there any other ways?

Thanks in advance,
- Mircea

_______________________________________________
tcf-dev mailing list
tcf-dev@xxxxxxxxxxx
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/tcf-dev


Back to the top