User Details
- User Since
- Feb 3 2015, 4:55 AM (505 w, 5 d)
May 15 2018
Feb 14 2018
Nov 2 2017
May 15 2017
BTW, it looks that we do not have a variable with boot cpu number. If it's true, I would suggest to have it for cases like this.
May 13 2017
May 12 2017
May 11 2017
Note that pmap_remap_vm_attr() calls pmap_set_tex() which assumes that all caches are disabled (see last two lines in this function). Caches are enabled in reinit_mmu() which is called from pmap_bootstrap_prepare() and init_secondary(). It's unfortunate that Michal did not add some comment about this to pmap_remap_vm_attr(). However, it's just a note for now as use of platform_cpu_init() is not clear so far.
Apr 20 2017
Apr 1 2017
Mar 29 2017
Mar 28 2017
(1) The staff around PIC and xref was implemented with concrete idea. You are trying to change it. So, it's not cleanup, it's an implementation of new idea. And I don't see why this change would be better.
(2) You are forcing devices which do not know (or have) their XREFs to generate some instead of using one and only XREF_UNKNOWN for these cases, which is zero.
(3) XREF_INVALID used the way you are suggesting is a nonsense. I would see XREF_INVALID only as an error code.
(4) This part of INTRNG was implemented strictly according to Michal, so I hope that you do not commit this before Michal agrees with it.
Jan 25 2017
I suggest that the main reason for this change should be the replacement of pcpu_find() by get_pcpu() now. I mean the text in commit message. The cleanup should be stated as secondary.
Jan 24 2017
Jan 15 2017
Jan 14 2017
Dec 17 2016
Nov 24 2016
Nov 23 2016
Nov 22 2016
(1) Be more verbose in summary and explain why 0 is not good for unknown xref value. And what 0 xref value will mean if -1 is unknown xref value.
(2) If you need to do cosmetic change which adds flag argument to pic_create(), do it in separate change.
Nov 12 2016
Nov 11 2016
Oct 4 2016
Hmm, if ARM_HAVE_MP_EXTENSIONS will be a hint defined in kernel configuration file, then the pattern will be the following:
Well, the pattern should be the following to work with GENERIC kernel.
Oct 3 2016
I suggest to create ARM_GENERIC_KERNEL option which could be used in situation like here when something bizarre is implemented.
Oct 2 2016
Here, we face the fact that various Cortex-A arm cores have various features. And even if I understand the reason for GENERIC, I don't like penalization of either custom or native kernel configurations just because of it. So, here we would need three functions set - one for UP, one for SMP, and one for GENERIC.
Sep 30 2016
I understand the reason for this change, however, do we really want to run SMP kernel on UP boards? Maybe, __ARM_ARCH >= 7 && defined SMP test is only some obscure way how to eliminate boards which have not implemented SMP variants of cp15 operations like cortex A8?
I have some feeling that all armv7 TLB operations are inlined already. And cache operations too. At least, it was a goal. Only cpu_setup() method is used from struct cpu_functions armv7 table. Nevertheless, I may be wrong.
Aug 31 2016
Jun 7 2016
Jun 5 2016
Jun 4 2016
Update for ARM64 and MIPS.
Jun 3 2016
Jun 2 2016
Jun 1 2016
May 29 2016
May 27 2016
May 25 2016
(1) Well, chained PIC is bound to its parent only by one irq. Considering your change, is there any other difference here except that child PIC is bound to a range of irqs? For example, could it be sufficient to register ISRC with child device_t but keep it in parent PIC?
May 23 2016
May 22 2016
May 17 2016
In general, I'm not able decide now if I like or dislike this change. For the mention reasons of this change, dynamic reallocation of global irq table would be enough. Note that INTRCNT_COUNT depends on NIRQ too. So, definitely, dynamic allocation of irq counters (intrcnt and intrnames arrays) should be solved too and IMO before. For example, the counter could be a part of struct intr_isrc and the arrays could be filled on request.
May 10 2016
May 8 2016
May 6 2016
May 5 2016
Apr 27 2016
Apr 24 2016
Apr 22 2016
Apr 21 2016
Apr 20 2016
Apr 9 2016
I was so curious about these enable/disable and mask/unmask registers that I've downloaded manual and looked at Linux implementation for unpublished "features". So, after this will be accepted and committed, there may be done some improvements like it looks that the interrupts could be unmasked permanently and only enable/disable registers could be used. Further, currently active interrupt on CPU irq input can be found in SW_INT_VECTOR_REG; the read zero must be checked in pending register 0, bit 0 to be sure if it's spurious irq or not.
Apr 7 2016
I'm sorry but I have changed PIC interface in r297539. It should be stable now and simpler. There are also more controllers rewritten for INTRNG in tree. The BEAGLEBONE aintc.c is a simplest one.
Apr 6 2016
Apr 5 2016
Thanks that you are doing this. I thought that I would do this later, as there was no immediate need to do it in D5730. Thus, thanks again and sorry for trouble.