From: Philippe Gerum <rpm@xenomai.org>
To: chensong <chensong@kylinos.cn>
Cc: Jan Kiszka <jan.kiszka@siemens.com>, xenomai@xenomai.org
Subject: Re: [PATCH 6/8] cobalt/dovetail: provide core-specific context extensions
Date: Thu, 25 Feb 2021 14:28:53 +0100 [thread overview]
Message-ID: <87blc88eei.fsf@xenomai.org> (raw)
In-Reply-To: <6031B089.3010500@kylinos.cn>
chensong <chensong@kylinos.cn> writes:
> On 2021年02月20日 20:45, Philippe Gerum via Xenomai wrote:
>> From: Philippe Gerum <rpm@xenomai.org>
>>
>> In order to intimately connect Cobalt to the kernel, Dovetail allows
>> us to extend the latter with data and procedures we need:
>>
>> - we can embed our own context information into a set of critical
>> kernel data structures. This information should be defined as a set
>> of core-specific types, such as struct oob_thread_state which is
>> going to be part of struct thread_info.
>>
>> - we can define preparation and finalization handlers for out-of-band
>> IRQ handling, which Dovetail should invoke right after entering the
>> outer interrupt frame, then right before leaving it respectively.
>>
>> Add the couple of interface headers we need to connect those elements
>> to the kernel.
>>
>> Signed-off-by: Philippe Gerum <rpm@xenomai.org>
>> ---
>> kernel/cobalt/include/dovetail/irq.h | 52 ++++++++++++++++++++
>> kernel/cobalt/include/dovetail/thread_info.h | 33 +++++++++++++
>> 2 files changed, 85 insertions(+)
>> create mode 100644 kernel/cobalt/include/dovetail/irq.h
>> create mode 100644 kernel/cobalt/include/dovetail/thread_info.h
>>
>> diff --git a/kernel/cobalt/include/dovetail/irq.h b/kernel/cobalt/include/dovetail/irq.h
>> new file mode 100644
>> index 000000000..66d020fde
>> --- /dev/null
>> +++ b/kernel/cobalt/include/dovetail/irq.h
>> @@ -0,0 +1,52 @@
>> +/*
>> + * SPDX-License-Identifier: GPL-2.0
>> + *
>> + * Copyright (C) 2017 Philippe Gerum <rpm@xenomai.org>
>> + */
>> +
>> +#ifndef _COBALT_DOVETAIL_IRQ_H
>> +#define _COBALT_DOVETAIL_IRQ_H
>> +
>> +#ifdef CONFIG_XENOMAI
>> +
>> +#include <cobalt/kernel/sched.h>
>> +
>> +/* hard irqs off. */
>> +static inline void irq_enter_pipeline(void)
>> +{
>> + struct xnsched *sched = xnsched_current();
>> +
>> + sched->lflags |= XNINIRQ;
>> +}
>> +
>> +/* hard irqs off. */
>
> should be "hard irqs on"?
>
The comment is ok, the interrupt pipeline always calls the exit handler
with hard irqs off.
--
Philippe.
next prev parent reply other threads:[~2021-02-25 13:28 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-02-20 12:45 [PATCH 1/8] cobalt/tick: use the underlying pipeline timer API directly Philippe Gerum
2021-02-20 12:45 ` [PATCH 2/8] cobalt/tick: dovetail: add placeholders for tick management Philippe Gerum
2021-02-20 12:45 ` [PATCH 3/8] cobalt/trace: dovetail: add placeholders for trace management Philippe Gerum
2021-03-08 11:22 ` Jan Kiszka
2021-03-08 12:31 ` Philippe Gerum
2021-03-11 15:53 ` Philippe Gerum
2021-03-11 15:55 ` Jan Kiszka
2021-03-11 16:18 ` Philippe Gerum
2021-02-20 12:45 ` [PATCH 4/8] cobalt/wrapper: dovetail: add empty placeholder Philippe Gerum
2021-02-20 12:45 ` [PATCH 5/8] cobalt/syscall: dovetail: implement syscall hooks Philippe Gerum
2021-02-20 12:45 ` [PATCH 6/8] cobalt/dovetail: provide core-specific context extensions Philippe Gerum
2021-02-21 0:59 ` chensong
2021-02-25 13:28 ` Philippe Gerum [this message]
2021-03-08 11:26 ` Jan Kiszka
2021-02-20 12:45 ` [PATCH 7/8] drivers/net: Kconfig: fix help stanzas in configuration blocks Philippe Gerum
2021-02-20 12:45 ` [PATCH 8/8] cobalt/assert: remove extraneous header inclusion Philippe Gerum
2021-03-08 11:28 ` Jan Kiszka
2021-03-08 11:48 ` [PATCH 1/8] cobalt/tick: use the underlying pipeline timer API directly Jan Kiszka
2021-03-08 12:01 ` Jan Kiszka
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=87blc88eei.fsf@xenomai.org \
--to=rpm@xenomai.org \
--cc=chensong@kylinos.cn \
--cc=jan.kiszka@siemens.com \
--cc=xenomai@xenomai.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.