<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/arch/parisc/kernel/firmware.c, branch linux-4.19.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.19.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.19.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2024-02-23T07:12:40Z</updated>
<entry>
<title>parisc/firmware: Fix F-extend for PDC addresses</title>
<updated>2024-02-23T07:12:40Z</updated>
<author>
<name>Helge Deller</name>
</author>
<published>2024-01-03T20:02:16Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=63cc5eb9b4102474423c4d6563fdf2ebbedf437f'/>
<id>urn:sha1:63cc5eb9b4102474423c4d6563fdf2ebbedf437f</id>
<content type='text'>
commit 735ae74f73e55c191d48689bd11ff4a06ea0508f upstream.

When running with narrow firmware (64-bit kernel using a 32-bit
firmware), extend PDC addresses into the 0xfffffff0.00000000
region instead of the 0xf0f0f0f0.00000000 region.

This fixes the power button on the C3700 machine in qemu (64-bit CPU
with 32-bit firmware), and my assumption is that the previous code was
really never used (because most 64-bit machines have a 64-bit firmware),
or it just worked on very old machines because they may only decode
40-bit of virtual addresses.

Cc: stable@vger.kernel.org
Signed-off-by: Helge Deller &lt;deller@gmx.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>parisc: Fix return code of pdc_iodc_print()</title>
<updated>2023-02-22T11:47:15Z</updated>
<author>
<name>Helge Deller</name>
</author>
<published>2022-12-19T19:56:36Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=cbe4c0b02da10097fbc0fe8fe7e2021f3ebb2fb7'/>
<id>urn:sha1:cbe4c0b02da10097fbc0fe8fe7e2021f3ebb2fb7</id>
<content type='text'>
commit 5d1335dabb3c493a3d6d5b233953b6ac7b6c1ff2 upstream.

There is an off-by-one if the printed string includes a new-line
char.

Cc: stable@vger.kernel.org
Signed-off-by: Helge Deller &lt;deller@gmx.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>parisc: Add wrapper for pdc_instr() firmware function</title>
<updated>2017-09-22T17:46:44Z</updated>
<author>
<name>Helge Deller</name>
</author>
<published>2017-09-17T19:15:09Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=77089c5274fe2f72db5a2cd956d0d308aed08e68'/>
<id>urn:sha1:77089c5274fe2f72db5a2cd956d0d308aed08e68</id>
<content type='text'>
Signed-off-by: Helge Deller &lt;deller@gmx.de&gt;
</content>
</entry>
<entry>
<title>parisc: Make existing core files reuseable for bootloader</title>
<updated>2017-08-22T14:34:35Z</updated>
<author>
<name>Helge Deller</name>
</author>
<published>2017-08-20T08:52:22Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f5213b2c40f5749e6b9b8f737ea946495ed0a438'/>
<id>urn:sha1:f5213b2c40f5749e6b9b8f737ea946495ed0a438</id>
<content type='text'>
Signed-off-by: Helge Deller &lt;deller@gmx.de&gt;
</content>
</entry>
<entry>
<title>parisc: PDT/firmware: Add support to read PDT on older PAT-machines</title>
<updated>2017-08-22T14:34:33Z</updated>
<author>
<name>Helge Deller</name>
</author>
<published>2017-08-04T17:12:39Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8a5aa00e6b9630d36d7681b38062a3d48d8b6ee6'/>
<id>urn:sha1:8a5aa00e6b9630d36d7681b38062a3d48d8b6ee6</id>
<content type='text'>
Older machines with a PAT firmware (e.g. the rp5470) return their Page
Deallocation Table (PDT) info per cell via the PDC_PAT_MEM_PD_INFO PDC call.
This patch adds the necessary structures and wrappers to call firmware.

Signed-off-by: Helge Deller &lt;deller@gmx.de&gt;
</content>
</entry>
<entry>
<title>parisc: Add function to return DIMM slot of physical address</title>
<updated>2017-07-25T17:28:37Z</updated>
<author>
<name>Helge Deller</name>
</author>
<published>2017-07-25T17:26:23Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=25a9b76597fafbbf688dd4473cb910568deb2b0c'/>
<id>urn:sha1:25a9b76597fafbbf688dd4473cb910568deb2b0c</id>
<content type='text'>
Add a firmware wrapper function, which asks PDC firmware for the DIMM slot of a
physical address. This is needed to show users which DIMM module needs
replacement in case a broken DIMM was encountered.

Signed-off-by: Helge Deller &lt;deller@gmx.de&gt;
</content>
</entry>
<entry>
<title>parisc: Fix crash when calling PDC_PAT_MEM PDT firmware function</title>
<updated>2017-07-25T16:24:39Z</updated>
<author>
<name>Helge Deller</name>
</author>
<published>2017-07-25T16:20:54Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f520e55241e1cf0c10d308ccf47513f28533f60a'/>
<id>urn:sha1:f520e55241e1cf0c10d308ccf47513f28533f60a</id>
<content type='text'>
Commit c9c2877d08d9 ("parisc: Add Page Deallocation Table (PDT) support")
introduced the pdc_pat_mem_read_pd_pdt() firmware helper function, which
crashed the system because it trashed the stack if the
pdc_pat_mem_read_pd_retinfo struct was located on the stack (and which is
in size less than the required 32 64-bit values).

Fix it by using the pdc_result struct instead when calling firmware and copy
the return values back into the result struct when finished sucessfully.

While debugging this code I noticed that the pdc_type wasn't set correctly
either, so let's fix that too.

Fixes: c9c2877d08d9 ("parisc: Add Page Deallocation Table (PDT) support")
Signed-off-by: Helge Deller &lt;deller@gmx.de&gt;
</content>
</entry>
<entry>
<title>parisc: Add Page Deallocation Table (PDT) support</title>
<updated>2017-05-12T07:14:15Z</updated>
<author>
<name>Helge Deller</name>
</author>
<published>2017-05-11T20:24:15Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c9c2877d08d9aa0ca0a5c227ac795fbb76269300'/>
<id>urn:sha1:c9c2877d08d9aa0ca0a5c227ac795fbb76269300</id>
<content type='text'>
The firmare in most parisc machines maintains a Page Deallocation Table (PDT)
which holds a list of physical memory addresses where hardware detected memory
errors (single bit and double bit errors).

This patch adds the missing PDC firmware calls and the logic to read the PDT
from firmware, report all current PDT entries and exclude the reported bad
memory from being used by Linux.

Signed-off-by: Helge Deller &lt;deller@gmx.de&gt;
</content>
</entry>
<entry>
<title>parisc: Enhance CPU detection code on PAT machines</title>
<updated>2016-12-12T21:28:09Z</updated>
<author>
<name>Helge Deller</name>
</author>
<published>2016-11-17T20:27:50Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=637250cc8f5e2bfc5c3a96802d1d96b4987a1d62'/>
<id>urn:sha1:637250cc8f5e2bfc5c3a96802d1d96b4987a1d62</id>
<content type='text'>
This patch fixes the debug code which runs during the inventory scan on
machines with PAT firmware.

Additionally print out the relationship between the detected logical CPU
number and it's physical location and physical cpu number.
This leads to information which can be used to feed numa-structures in
the kernel in later patches. An example output is from my single-CPU (2
cores) C8000 machine is:

  Logical CPU #0 is physical cpu #0 at 0xffff0000ffff15, hpa 0xfffffffffe780000
  Logical CPU #1 is physical cpu #1 at 0xffff0000ffff15, hpa 0xfffffffffe781000

Signed-off-by: Helge Deller &lt;deller@gmx.de&gt;
</content>
</entry>
<entry>
<title>parisc: Add break statements to pdc_pat_io_pci_cfg_read()</title>
<updated>2016-08-02T14:44:33Z</updated>
<author>
<name>Helge Deller</name>
</author>
<published>2016-08-02T14:26:23Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=49ea1480f433d7673715f471c10f05bb08d49205'/>
<id>urn:sha1:49ea1480f433d7673715f471c10f05bb08d49205</id>
<content type='text'>
Dan Carpenter noticed that pdc_pat_io_pci_cfg_read() is problematic
because it's missing some break statements so it copies 4 bytes
regardless of whether you asked for only 1 or 2.

Reported-by: Dan Carpenter &lt;dan.carpenter@oracle.com&gt;
Signed-off-by: Helge Deller &lt;deller@gmx.de&gt;
</content>
</entry>
</feed>
