I want submit some code to support temporarily block multiple-threads.
But this code can't pass check by `checkpatch`.
This code look like this:
```
#define barrier() {asm volatile ("fence" ::: "memory"); }
/*
* If your code needs to temporarily block multiple-threads, do this:
* SMP_PAUSE(active) // `active` is hartid of working thread
* ... single-threaded work ...
* SMP_RESUME()
* ... multi-threaded work ...
*/
#define SMP_PAUSE(active) do \
{ \
__label__ l_entry, l_exit; \
static int _flag_; \
if (active == read_csr(mhartid)) \
goto l_entry; \
do {barrier(); } while (!_flag_); \
goto l_exit; \
l_entry:
#define SMP_RESUME() \
_flag_ = 1; \
l_exit: \
barrier(); \
} while (0)
```
Xiang Wang
Hi,
On 29.06.2018 16:13, Jorge Fernandez Monteagudo wrote:
> In 00730F01/northbridge.c I can see:
> [...]
> static struct device_operations pci_domain_ops = {
> [...]
> and in 00660F01/northbridge.c there is no acpi_name! The most related to the previous one is:
> [...]
> static struct device_operations northbridge_operations =
sorry, I wrote `northbridge device` sometimes, what I really meant is
the `domain device`, hence you have to add it to `pci_domain_ops` just
like in the 00730F01 case.
> On monday I'll try to add the method to 00660F01 code!
Good luck!
Nico
>
> ________________________________
> De: Nico Huber <nico.h(a)gmx.de>
> Enviado: viernes, 29 de junio de 2018 15:47:09
> Para: Jorge Fernandez Monteagudo; coreboot(a)coreboot.org; Zaolin
> Asunto: Re: [coreboot] RV: Error booting with TPM enabled.
>
> On 29.06.2018 12:48, Jorge Fernandez Monteagudo wrote:
>> Ok, I think I've found the problem... If I force in 'src/drivers/pc80/tpm/tis.c'
>>
>> the path value to "\\_SB_.PCI0.LIBR" it works!
>>
>> Now, I'll try to guess from where the "\_SB.\_SB.LIBR" current value comes from...
>> but now it's working.
>
> This is expected if you still haven't implemented `.acpi_name` for
> your northbridge device. In case you haven't tried it yet: Just copy
> what `nb/amd/pi/00730F01/northbridge.c` does about `.acpi_name` to
> `nb/amd/pi/00660F01/northbridge.c`.
>
> Again, if the domain device doesn't implement `.acpi_name`, its parent
> device will be asked. And in this case the parent, the root device,
> always returns `\_SB`.
>
> Nico
>