पर भौतिक पते मैपिंग मैं एक छोटी एम्बेडेड सिस्टम पर काम कर रहा हूं। जब मेरा लिनक्स उपयोगकर्ता स्थान में बूट हो जाता है, तो मुझे पता है कि भौतिक स्मृति में मेरे डिवाइस कहां हैं। मैं उन्हें उपयोगकर्ता स्थान वर्चुअल पतों में मैप करना चाहता हूं। वर्तमान में, मैं इसे कर्नेल मॉड्यूल के माध्यम से कर रहा हूं। मैं vmalloc/kmalloc (आकार के आधार पर) का उपयोग करता हूं और फिर मैं अपने भौतिक पते को मैप करने के लिए वर्चुअल पतों पर लौटने वाले ioremap_page_range का उपयोग करता हूं। मुझे नहीं लगता कि यह जाने का सही तरीका है। सबसे पहले मैं स्मृति आवंटित कर रहा हूं और फिर मैं कर्नेल से उस वर्चुअल एड्रेस स्पेस को कुछ अलग भौतिक पता स्थान पर रीमेप करने के लिए कह रहा हूं। (प्रारंभ में मैप किए गए भौतिक-> vmcall/kmalloc में आभासी थोड़े बेकार है क्योंकि मुझे उन भौतिक पृष्ठों की परवाह नहीं है। यह निश्चित रूप से अच्छा नहीं है।)वर्चुअल एड्रेस लिनक्स
इसके बजाए ज्ञात भौतिक स्मृति को उपयोगकर्ता में मैप करने का एक बेहतर तरीका है अंतरिक्ष प्रक्रिया।
धन्यवाद
मुझे remap_pfn करने से पहले मुझे mmap करने की आवश्यकता है। हालांकि, मैं ऐसा नहीं करना चाहता। मेरे पास उस स्मृति से जुड़ा डिवाइस नहीं है। इसलिए, मैं सीधे उस भौतिक स्मृति को आभासी पते पर मैप करना चाहता हूं। धन्यवाद –