2024 State of Marketing Report – by HubspotMarius Sescu
https://www.hubspot.com/state-of-marketing
· Scaling relationships and proving ROI
· Social media is the place for search, sales, and service
· Authentic influencer partnerships fuel brand growth
· The strongest connections happen via call, click, chat, and camera.
· Time saved with AI leads to more creative work
· Seeking: A single source of truth
· TLDR; Get on social, try AI, and align your systems.
· More human marketing, powered by robots
ChatGPT is a revolutionary addition to the world since its introduction in 2022. A big shift in the sector of information gathering and processing happened because of this chatbot. What is the story of ChatGPT? How is the bot responding to prompts and generating contents? Swipe through these slides prepared by Expeed Software, a web development company regarding the development and technical intricacies of ChatGPT!
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
The realm of product design is a constantly changing environment where technology and style intersect. Every year introduces fresh challenges and exciting trends that mold the future of this captivating art form. In this piece, we delve into the significant trends set to influence the look and functionality of product design in the year 2024.
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
Mental health has been in the news quite a bit lately. Dozens of U.S. states are currently suing Meta for contributing to the youth mental health crisis by inserting addictive features into their products, while the U.S. Surgeon General is touring the nation to bring awareness to the growing epidemic of loneliness and isolation. The country has endured periods of low national morale, such as in the 1970s when high inflation and the energy crisis worsened public sentiment following the Vietnam War. The current mood, however, feels different. Gallup recently reported that national mental health is at an all-time low, with few bright spots to lift spirits.
To better understand how Americans are feeling and their attitudes towards mental health in general, ThinkNow conducted a nationally representative quantitative survey of 1,500 respondents and found some interesting differences among ethnic, age and gender groups.
Technology
For example, 52% agree that technology and social media have a negative impact on mental health, but when broken out by race, 61% of Whites felt technology had a negative effect, and only 48% of Hispanics thought it did.
While technology has helped us keep in touch with friends and family in faraway places, it appears to have degraded our ability to connect in person. Staying connected online is a double-edged sword since the same news feed that brings us pictures of the grandkids and fluffy kittens also feeds us news about the wars in Israel and Ukraine, the dysfunction in Washington, the latest mass shooting and the climate crisis.
Hispanics may have a built-in defense against the isolation technology breeds, owing to their large, multigenerational households, strong social support systems, and tendency to use social media to stay connected with relatives abroad.
Age and Gender
When asked how individuals rate their mental health, men rate it higher than women by 11 percentage points, and Baby Boomers rank it highest at 83%, saying it’s good or excellent vs. 57% of Gen Z saying the same.
Gen Z spends the most amount of time on social media, so the notion that social media negatively affects mental health appears to be correlated. Unfortunately, Gen Z is also the generation that’s least comfortable discussing mental health concerns with healthcare professionals. Only 40% of them state they’re comfortable discussing their issues with a professional compared to 60% of Millennials and 65% of Boomers.
Race Affects Attitudes
As seen in previous research conducted by ThinkNow, Asian Americans lag other groups when it comes to awareness of mental health issues. Twenty-four percent of Asian Americans believe that having a mental health issue is a sign of weakness compared to the 16% average for all groups. Asians are also considerably less likely to be aware of mental health services in their communities (42% vs. 55%) and most likely to seek out information on social media (51% vs. 35%).
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
This article is all about what AI trends will emerge in the field of creative operations in 2024. All the marketers and brand builders should be aware of these trends for their further use and save themselves some time!
A report by thenetworkone and Kurio.
The contributing experts and agencies are (in an alphabetical order): Sylwia Rytel, Social Media Supervisor, 180heartbeats + JUNG v MATT (PL), Sharlene Jenner, Vice President - Director of Engagement Strategy, Abelson Taylor (USA), Alex Casanovas, Digital Director, Atrevia (ES), Dora Beilin, Senior Social Strategist, Barrett Hoffher (USA), Min Seo, Campaign Director, Brand New Agency (KR), Deshé M. Gully, Associate Strategist, Day One Agency (USA), Francesca Trevisan, Strategist, Different (IT), Trevor Crossman, CX and Digital Transformation Director; Olivia Hussey, Strategic Planner; Simi Srinarula, Social Media Manager, The Hallway (AUS), James Hebbert, Managing Director, Hylink (CN / UK), Mundy Álvarez, Planning Director; Pedro Rojas, Social Media Manager; Pancho González, CCO, Inbrax (CH), Oana Oprea, Head of Digital Planning, Jam Session Agency (RO), Amy Bottrill, Social Account Director, Launch (UK), Gaby Arriaga, Founder, Leonardo1452 (MX), Shantesh S Row, Creative Director, Liwa (UAE), Rajesh Mehta, Chief Strategy Officer; Dhruv Gaur, Digital Planning Lead; Leonie Mergulhao, Account Supervisor - Social Media & PR, Medulla (IN), Aurelija Plioplytė, Head of Digital & Social, Not Perfect (LI), Daiana Khaidargaliyeva, Account Manager, Osaka Labs (UK / USA), Stefanie Söhnchen, Vice President Digital, PIABO Communications (DE), Elisabeth Winiartati, Managing Consultant, Head of Global Integrated Communications; Lydia Aprina, Account Manager, Integrated Marketing and Communications; Nita Prabowo, Account Manager, Integrated Marketing and Communications; Okhi, Web Developer, PNTR Group (ID), Kei Obusan, Insights Director; Daffi Ranandi, Insights Manager, Radarr (SG), Gautam Reghunath, Co-founder & CEO, Talented (IN), Donagh Humphreys, Head of Social and Digital Innovation, THINKHOUSE (IRE), Sarah Yim, Strategy Director, Zulu Alpha Kilo (CA).
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
The search marketing landscape is evolving rapidly with new technologies, and professionals, like you, rely on innovative paid search strategies to meet changing demands.
It’s important that you’re ready to implement new strategies in 2024.
Check this out and learn the top trends in paid search advertising that are expected to gain traction, so you can drive higher ROI more efficiently in 2024.
You’ll learn:
- The latest trends in AI and automation, and what this means for an evolving paid search ecosystem.
- New developments in privacy and data regulation.
- Emerging ad formats that are expected to make an impact next year.
Watch Sreekant Lanka from iQuanti and Irina Klein from OneMain Financial as they dive into the future of paid search and explore the trends, strategies, and technologies that will shape the search marketing landscape.
If you’re looking to assess your paid search strategy and design an industry-aligned plan for 2024, then this webinar is for you.
5 Public speaking tips from TED - Visualized summarySpeakerHub
From their humble beginnings in 1984, TED has grown into the world’s most powerful amplifier for speakers and thought-leaders to share their ideas. They have over 2,400 filmed talks (not including the 30,000+ TEDx videos) freely available online, and have hosted over 17,500 events around the world.
With over one billion views in a year, it’s no wonder that so many speakers are looking to TED for ideas on how to share their message more effectively.
The article “5 Public-Speaking Tips TED Gives Its Speakers”, by Carmine Gallo for Forbes, gives speakers five practical ways to connect with their audience, and effectively share their ideas on stage.
Whether you are gearing up to get on a TED stage yourself, or just want to master the skills that so many of their speakers possess, these tips and quotes from Chris Anderson, the TED Talks Curator, will encourage you to make the most impactful impression on your audience.
See the full article and more summaries like this on SpeakerHub here: https://speakerhub.com/blog/5-presentation-tips-ted-gives-its-speakers
See the original article on Forbes here:
http://www.forbes.com/forbes/welcome/?toURL=http://www.forbes.com/sites/carminegallo/2016/05/06/5-public-speaking-tips-ted-gives-its-speakers/&refURL=&referrer=#5c07a8221d9b
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
Everyone is in agreement that ChatGPT (and other generative AI tools) will shape the future of work. Yet there is little consensus on exactly how, when, and to what extent this technology will change our world.
Businesses that extract maximum value from ChatGPT will use it as a collaborative tool for everything from brainstorming to technical maintenance.
For individuals, now is the time to pinpoint the skills the future professional will need to thrive in the AI age.
Check out this presentation to understand what ChatGPT is, how it will shape the future of work, and how you can prepare to take advantage.
A brief introduction to DataScience with explaining of the concepts, algorithms, machine learning, supervised and unsupervised learning, clustering, statistics, data preprocessing, real-world applications etc.
It's part of a Data Science Corner Campaign where I will be discussing the fundamentals of DataScience, AIML, Statistics etc.
Time Management & Productivity - Best PracticesVit Horky
Here's my presentation on by proven best practices how to manage your work time effectively and how to improve your productivity. It includes practical tips and how to use tools such as Slack, Google Apps, Hubspot, Google Calendar, Gmail and others.
The six step guide to practical project managementMindGenius
The six step guide to practical project management
If you think managing projects is too difficult, think again.
We’ve stripped back project management processes to the
basics – to make it quicker and easier, without sacrificing
the vital ingredients for success.
“If you’re looking for some real-world guidance, then The Six Step Guide to Practical Project Management will help.”
Dr Andrew Makar, Tactical Project Management
2024 State of Marketing Report – by HubspotMarius Sescu
https://www.hubspot.com/state-of-marketing
· Scaling relationships and proving ROI
· Social media is the place for search, sales, and service
· Authentic influencer partnerships fuel brand growth
· The strongest connections happen via call, click, chat, and camera.
· Time saved with AI leads to more creative work
· Seeking: A single source of truth
· TLDR; Get on social, try AI, and align your systems.
· More human marketing, powered by robots
ChatGPT is a revolutionary addition to the world since its introduction in 2022. A big shift in the sector of information gathering and processing happened because of this chatbot. What is the story of ChatGPT? How is the bot responding to prompts and generating contents? Swipe through these slides prepared by Expeed Software, a web development company regarding the development and technical intricacies of ChatGPT!
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
The realm of product design is a constantly changing environment where technology and style intersect. Every year introduces fresh challenges and exciting trends that mold the future of this captivating art form. In this piece, we delve into the significant trends set to influence the look and functionality of product design in the year 2024.
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
Mental health has been in the news quite a bit lately. Dozens of U.S. states are currently suing Meta for contributing to the youth mental health crisis by inserting addictive features into their products, while the U.S. Surgeon General is touring the nation to bring awareness to the growing epidemic of loneliness and isolation. The country has endured periods of low national morale, such as in the 1970s when high inflation and the energy crisis worsened public sentiment following the Vietnam War. The current mood, however, feels different. Gallup recently reported that national mental health is at an all-time low, with few bright spots to lift spirits.
To better understand how Americans are feeling and their attitudes towards mental health in general, ThinkNow conducted a nationally representative quantitative survey of 1,500 respondents and found some interesting differences among ethnic, age and gender groups.
Technology
For example, 52% agree that technology and social media have a negative impact on mental health, but when broken out by race, 61% of Whites felt technology had a negative effect, and only 48% of Hispanics thought it did.
While technology has helped us keep in touch with friends and family in faraway places, it appears to have degraded our ability to connect in person. Staying connected online is a double-edged sword since the same news feed that brings us pictures of the grandkids and fluffy kittens also feeds us news about the wars in Israel and Ukraine, the dysfunction in Washington, the latest mass shooting and the climate crisis.
Hispanics may have a built-in defense against the isolation technology breeds, owing to their large, multigenerational households, strong social support systems, and tendency to use social media to stay connected with relatives abroad.
Age and Gender
When asked how individuals rate their mental health, men rate it higher than women by 11 percentage points, and Baby Boomers rank it highest at 83%, saying it’s good or excellent vs. 57% of Gen Z saying the same.
Gen Z spends the most amount of time on social media, so the notion that social media negatively affects mental health appears to be correlated. Unfortunately, Gen Z is also the generation that’s least comfortable discussing mental health concerns with healthcare professionals. Only 40% of them state they’re comfortable discussing their issues with a professional compared to 60% of Millennials and 65% of Boomers.
Race Affects Attitudes
As seen in previous research conducted by ThinkNow, Asian Americans lag other groups when it comes to awareness of mental health issues. Twenty-four percent of Asian Americans believe that having a mental health issue is a sign of weakness compared to the 16% average for all groups. Asians are also considerably less likely to be aware of mental health services in their communities (42% vs. 55%) and most likely to seek out information on social media (51% vs. 35%).
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
This article is all about what AI trends will emerge in the field of creative operations in 2024. All the marketers and brand builders should be aware of these trends for their further use and save themselves some time!
A report by thenetworkone and Kurio.
The contributing experts and agencies are (in an alphabetical order): Sylwia Rytel, Social Media Supervisor, 180heartbeats + JUNG v MATT (PL), Sharlene Jenner, Vice President - Director of Engagement Strategy, Abelson Taylor (USA), Alex Casanovas, Digital Director, Atrevia (ES), Dora Beilin, Senior Social Strategist, Barrett Hoffher (USA), Min Seo, Campaign Director, Brand New Agency (KR), Deshé M. Gully, Associate Strategist, Day One Agency (USA), Francesca Trevisan, Strategist, Different (IT), Trevor Crossman, CX and Digital Transformation Director; Olivia Hussey, Strategic Planner; Simi Srinarula, Social Media Manager, The Hallway (AUS), James Hebbert, Managing Director, Hylink (CN / UK), Mundy Álvarez, Planning Director; Pedro Rojas, Social Media Manager; Pancho González, CCO, Inbrax (CH), Oana Oprea, Head of Digital Planning, Jam Session Agency (RO), Amy Bottrill, Social Account Director, Launch (UK), Gaby Arriaga, Founder, Leonardo1452 (MX), Shantesh S Row, Creative Director, Liwa (UAE), Rajesh Mehta, Chief Strategy Officer; Dhruv Gaur, Digital Planning Lead; Leonie Mergulhao, Account Supervisor - Social Media & PR, Medulla (IN), Aurelija Plioplytė, Head of Digital & Social, Not Perfect (LI), Daiana Khaidargaliyeva, Account Manager, Osaka Labs (UK / USA), Stefanie Söhnchen, Vice President Digital, PIABO Communications (DE), Elisabeth Winiartati, Managing Consultant, Head of Global Integrated Communications; Lydia Aprina, Account Manager, Integrated Marketing and Communications; Nita Prabowo, Account Manager, Integrated Marketing and Communications; Okhi, Web Developer, PNTR Group (ID), Kei Obusan, Insights Director; Daffi Ranandi, Insights Manager, Radarr (SG), Gautam Reghunath, Co-founder & CEO, Talented (IN), Donagh Humphreys, Head of Social and Digital Innovation, THINKHOUSE (IRE), Sarah Yim, Strategy Director, Zulu Alpha Kilo (CA).
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
The search marketing landscape is evolving rapidly with new technologies, and professionals, like you, rely on innovative paid search strategies to meet changing demands.
It’s important that you’re ready to implement new strategies in 2024.
Check this out and learn the top trends in paid search advertising that are expected to gain traction, so you can drive higher ROI more efficiently in 2024.
You’ll learn:
- The latest trends in AI and automation, and what this means for an evolving paid search ecosystem.
- New developments in privacy and data regulation.
- Emerging ad formats that are expected to make an impact next year.
Watch Sreekant Lanka from iQuanti and Irina Klein from OneMain Financial as they dive into the future of paid search and explore the trends, strategies, and technologies that will shape the search marketing landscape.
If you’re looking to assess your paid search strategy and design an industry-aligned plan for 2024, then this webinar is for you.
5 Public speaking tips from TED - Visualized summarySpeakerHub
From their humble beginnings in 1984, TED has grown into the world’s most powerful amplifier for speakers and thought-leaders to share their ideas. They have over 2,400 filmed talks (not including the 30,000+ TEDx videos) freely available online, and have hosted over 17,500 events around the world.
With over one billion views in a year, it’s no wonder that so many speakers are looking to TED for ideas on how to share their message more effectively.
The article “5 Public-Speaking Tips TED Gives Its Speakers”, by Carmine Gallo for Forbes, gives speakers five practical ways to connect with their audience, and effectively share their ideas on stage.
Whether you are gearing up to get on a TED stage yourself, or just want to master the skills that so many of their speakers possess, these tips and quotes from Chris Anderson, the TED Talks Curator, will encourage you to make the most impactful impression on your audience.
See the full article and more summaries like this on SpeakerHub here: https://speakerhub.com/blog/5-presentation-tips-ted-gives-its-speakers
See the original article on Forbes here:
http://www.forbes.com/forbes/welcome/?toURL=http://www.forbes.com/sites/carminegallo/2016/05/06/5-public-speaking-tips-ted-gives-its-speakers/&refURL=&referrer=#5c07a8221d9b
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
Everyone is in agreement that ChatGPT (and other generative AI tools) will shape the future of work. Yet there is little consensus on exactly how, when, and to what extent this technology will change our world.
Businesses that extract maximum value from ChatGPT will use it as a collaborative tool for everything from brainstorming to technical maintenance.
For individuals, now is the time to pinpoint the skills the future professional will need to thrive in the AI age.
Check out this presentation to understand what ChatGPT is, how it will shape the future of work, and how you can prepare to take advantage.
A brief introduction to DataScience with explaining of the concepts, algorithms, machine learning, supervised and unsupervised learning, clustering, statistics, data preprocessing, real-world applications etc.
It's part of a Data Science Corner Campaign where I will be discussing the fundamentals of DataScience, AIML, Statistics etc.
Time Management & Productivity - Best PracticesVit Horky
Here's my presentation on by proven best practices how to manage your work time effectively and how to improve your productivity. It includes practical tips and how to use tools such as Slack, Google Apps, Hubspot, Google Calendar, Gmail and others.
The six step guide to practical project managementMindGenius
The six step guide to practical project management
If you think managing projects is too difficult, think again.
We’ve stripped back project management processes to the
basics – to make it quicker and easier, without sacrificing
the vital ingredients for success.
“If you’re looking for some real-world guidance, then The Six Step Guide to Practical Project Management will help.”
Dr Andrew Makar, Tactical Project Management
2. Background
• restart label
• 커널 압축 해제를 위한 준비 작업
• 현재 실행 중인 Image(head.o + misc.o + piggy.gz)와 압축 해제할 공
간이 겹치는지 확인
• 겹친다면 relocate 작업 후 restart label 다시 실행
3. Assumption
• 커널 시작 위치는 0x8000 번지
• 압축 풀 위치도 0x8000 번지
• bcm_2709의 경우 arch/arm/mach-bcm2709에 아래와 같이 정의 함
• zreladdr-y := 0x00008000
• 아래 코드는 분석에서 제외
• #define에 포함되지 않는 코드
• #ifndef CONFIG_ZBOOT_ROM (not defined)
• DTB
• #ifdef CONFIG_ARM_APPENDED_DTB
• Virtualization Extension
• #define CONFIG_ARM_VIRT_EXT
4. Notation
• Memory address는 위쪽 방향으로 증가
• Memory layout 왼쪽은 address
• Memory layout 오른쪽은 label or register
• 현재 실행 하는 line은 붉은색으로 표기
13. # 2
sub r0, r0, r1 @ calculate the delta offset
add r6, r6, r0 @ _edata
add r10, r10, r0 @ inflated kernel size location
0x8000
head.o
piggy.gz
misc.o
:restart
:reloc_code_end
16k page table
LC0(r0)
압축하기 전의 원본 커널 Image의 크기가 저장된 위치(r10)에
offset 추가
_edata(r6)
r10
(piggy.gz
의 마지막
4bytes)
참고 : gzip으로 압축할 경우 압축 하기 전의 데이터 크기가 마지막 4bytes에
little-endian 방식으로 저장됨
https://tools.ietf.org/html/rfc1952
21. # 5
0x8000
head.o
piggy.gz
misc.o
:restart
:reloc_code_end
16k page table
user_stack_end
(sp)4k
LC0(r0)
_edata(r6)
add r10, r10, #16384
cmp r4, r10
bhs wont_overwrite
add r10, r4, r9
adr r9, wont_overwrite
cmp r10, r9
bls wont_overwrite
r10
64k
압축을 풀 위치(r4(0x8000))와 r10 비교
r4가 r10보다 크거나 같으면(hs) wont_overwrite로 branch
즉, 현재 메모리에 있는 piggy+stack+heap 영역 끝보다
압축 풀 위치가 더 높은 곳에 있으면 압축 해제하면서 겹치지 않음
(wont_overwrite)
하지만, r4가 더 낮은 주소에 있으므로 압축 풀면서 현재 메모리를
overwrite 할 가능성이 있음
16k
r9 = decompressed kernel size
22. # 5
0x8000
head.o
piggy.gz
misc.o
:restart
:reloc_code_end
16k page table
user_stack_end
(sp)4k
LC0(r0)
_edata(r6)
add r10, r10, #16384
cmp r4, r10
bhs wont_overwrite
add r10, r4, r9
adr r9, wont_overwrite
cmp r10, r9
bls wont_overwrite
64k
압축을 풀 위치(r4(0x8000))에 압축 해제한 커널 크기를 추가해
서 r10에 저장
즉, 압축 해제 했을 때의 메모리 주소 upper boundary 계산
16k
r9 = decompressed kernel size
r9
r10
(0x8000에서
압축 풀었을
경우 차지하는
공간)
23. # 5
0x8000
head.o
piggy.gz
misc.o
:restart
:reloc_code_end
16k page table
user_stack_end
(sp)4k
LC0(r0)
_edata(r6)
add r10, r10, #16384
cmp r4, r10
bhs wont_overwrite
add r10, r4, r9
adr r9, wont_overwrite
cmp r10, r9
bls wont_overwrite
64k
wont_overwrite label의 pc 상대 주소를 r9에 저장
head.o의 시작부터가 아닌 wont_overwrite의 위치로 이후에 비
교하는 이유는 현재까지 사용한 코드는 겹쳐도 상관없기 때문
16k
r9 = decompressed kernel size
r9
(:wont_overwrite)
r10
(0x8000에서
압축 풀었을
경우 차지하는
공간)
24. # 5
0x8000
head.o
piggy.gz
misc.o
:restart
:reloc_code_end
16k page table
user_stack_end
(sp)4k
LC0(r0)
_edata(r6)
add r10, r10, #16384
cmp r4, r10
bhs wont_overwrite
add r10, r4, r9
adr r9, wont_overwrite
cmp r10, r9
bls wont_overwrite
64k
압축 해제한 메모리 상한(r10)과 겹쳐도 상관없는 메모리(r9) 비교
즉, 압축을 해제하더라도 현재 실행중인 코드가 메모리 위쪽에 있어
서 겹치지 않는지 확인
하지만, r10이 위에 있으므로 overwrite 발생하기에 branch 하지 않음
16k
r9
(:wont_overwrite)
r10
(0x8000에서
압축 풀었을
경우 차지하는
공간)
26. # 6
0x8000
head.o
piggy.gz
misc.o
:restart
:reloc_code_end
16k page table
user_stack_end
(sp)4k
LC0(r0)
_edata(r6)
add r10, r10, #((reloc_code_end - restart + 256) & ~255)
bic r10, r10, #255
adr r5, restart
bic r5, r5, #31
64k
16k
r9
(:wont_overwrite)
0x8000에서
압축 풀었을
경우 차지하는
공간
r10에 256 bytes align 시킨 restart~reloc_code_end 크기만큼 추가
이후, r10을 다시 256 bytes align
r10
256 byte aligned
restart~reloc_code_end
27. # 6
0x8000
head.o
piggy.gz
misc.o
r5(:restart)
:reloc_code_end
16k page table
user_stack_end
(sp)4k
LC0(r0)
_edata(r6)
add r10, r10, #((reloc_code_end - restart + 256) & ~255)
bic r10, r10, #255
adr r5, restart
bic r5, r5, #31
64k
16k
r9
(:wont_overwrite)
0x8000에서
압축 풀었을
경우 차지하는
공간
r5에 restart label의 pc 상대 주소 저장
r10
256 byte aligned
restart~reloc_code_end
28. # 6
0x8000
head.o
piggy.gz
misc.o
r5 ≒ :restart
:reloc_code_end
16k page table
user_stack_end
(sp)4k
LC0(r0)
_edata(r6)
add r10, r10, #((reloc_code_end - restart + 256) & ~255)
bic r10, r10, #255
adr r5, restart
bic r5, r5, #31
64k
16k
r9
(:wont_overwrite)
0x8000에서
압축 풀었을
경우 차지하는
공간
r5의 하위 31비트 clear
즉, 32 bytes align
r5는 실제 restart label보다 조금 아래쪽일 수 있다. (최대 31 bytes)
r10
256 byte aligned
restart~reloc_code_end
29. # 7
0x8000
head.o
piggy.gz
misc.o
r5 ≒ :restart
:reloc_code_end
16k page table
user_stack_end
(sp)4k
LC0(r0)
_edata(r6)
sub r9, r6, r5 @ size to copy
add r9, r9, #31 @ rounded up to a multiple
bic r9, r9, #31 @ ... of 32 bytes
add r6, r9, r5
add r9, r9, r10
64k
16k
r9
(:wont_overwrite)
0x8000에서
압축 풀었을
경우 차지하는
공간
r10
256 byte aligned
restart~reloc_code_end
30. # 7
0x8000
head.o
piggy.gz
misc.o
r5 ≒ :restart
:reloc_code_end
16k page table
user_stack_end
(sp)4k
LC0(r0)
_edata(r6)
sub r9, r6, r5 @ size to copy
add r9, r9, #31 @ rounded up to a multiple
bic r9, r9, #31 @ ... of 32 bytes
add r6, r9, r5
add r9, r9, r10
64k
16k
:wont_overwrite
0x8000에서
압축 풀었을
경우 차지하는
공간
r10
256 byte aligned
restart~reloc_code_end
재배치할 크기 계산
restart label부터 _edata(piggydata+padding)까지 재 배치
그 위에 있는 4k, 64k 16k의 stack, heap은 재배치후 다시 확보 하면 됨
r9
r9 = size to copy (재배치할 영역 크기)
31. # 7
0x8000
head.o
piggy.gz
misc.o
r5 ≒ :restart
:reloc_code_end
16k page table
user_stack_end
(sp)4k
LC0(r0)
_edata(r6)
sub r9, r6, r5 @ size to copy
add r9, r9, #31 @ rounded up to a multiple
bic r9, r9, #31 @ ... Of 32 bytes
add r6, r9, r5
add r9, r9, r10
64k
16k
:wont_overwrite
0x8000에서
압축 풀었을
경우 차지하는
공간
r10
256 byte aligned
restart~reloc_code_end
재배치할 크기(r9)를 32의 배수가 되도록 올림(rounded up)
조금 더(최대 31 bytes) copy 한다고 해서 문제 될 건 없음
r9
r9 = size to copy (재배치할 영역 크기)
32. # 7
0x8000
head.o
piggy.gz
misc.o
r5 ≒ :restart
:reloc_code_end
16k page table
user_stack_end
(sp)4k
LC0(r0)
_edata
sub r9, r6, r5 @ size to copy
add r9, r9, #31 @ rounded up to a multiple
bic r9, r9, #31 @ ... Of 32 bytes
add r6, r9, r5
add r9, r9, r10
64k
16k
:wont_overwrite
0x8000에서
압축 풀었을
경우 차지하는
공간
r10
256 byte aligned
restart~reloc_code_end
restart label부터 재배치할 영역 크기만큼 더한 값을 r6에 저장
r6은 앞에서 32 bytes 반올림 했기 때문에 _edata보다 약간 위가 될 수 있음
r6은 이후 asm memcopy 연산에서 src 주소로 사용
r9
r9 = size to copy (재배치할 영역 크기)
r6
33. # 7
0x8000
head.o
piggy.gz
misc.o
r5 ≒ :restart
:reloc_code_end
16k page table
user_stack_end
(sp)4k
LC0(r0)
_edata
sub r9, r6, r5 @ size to copy
add r9, r9, #31 @ rounded up to a multiple
bic r9, r9, #31 @ ... Of 32 bytes
add r6, r9, r5
add r9, r9, r10
64k
16k
:wont_overwrite
0x8000에서
압축 풀었을
경우 차지하는
공간
256 byte aligned
restart~reloc_code_end
r10에 재배치할 영역 크기(r9)만큼 더해서 r9에 저장
r9는 이후 asm memcopy 연산에서 dst 주소로 사용
r9
r9 = size to copy (재배치할 영역 크기)
r6
r9
r9
참고 : Memory layout에서 r9가 가리키는 재배치 공간(r9)과
r6가 가리키는 재배치 공간(r9)은 동일한 크기!
r10
37. # 8
0x8000
head.o
piggy.gz
misc.o
r5 ≒ :restart
:reloc_code_end
16k page table
user_stack_end
(sp)4k
LC0(r0)
_edata
1: ldmdb r6!, {r0 – r3, r10 – r12, lr}
cmp r6, r5
stmdb r9!, {r0 – r3, r10 – r12, lr}
bhi 1b
64k
16k
:wont_overwrite
0x8000에서
압축 풀었을
경우 차지하는
공간
r6
r9
r10
r9(dst)를 시작으로 주소를 감소 시키면서 r0-r3, r10-r12, lr 에 있는 값
을 4byte씩 32bytes를 저장
38. # 8
0x8000
head.o
piggy.gz
misc.o
r5 ≒ :restart
:reloc_code_end
16k page table
user_stack_end
(sp)4k
LC0(r0)
_edata
1: ldmdb r6!, {r0 – r3, r10 – r12, lr}
cmp r6, r5
stmdb r9!, {r0 – r3, r10 – r12, lr}
bhi 1b
64k
16k
:wont_overwrite
0x8000에서
압축 풀었을
경우 차지하는
공간
r6
r9
r10
앞의 비교연산(cmp)에서 r6가 더 크기 때문에 (hi) 1b로 branch
이 과정을 r6가 r5보다 작아질 때 까지 반복
즉, asm의 memcopy로 재배치 하는 코드
39. # 8
0x8000
head.o
piggy.gz
misc.o
r5 ≒ :restart
:reloc_code_end
16k page table
user_stack_end
(sp)4k
LC0(r0)
_edata
1: ldmdb r6!, {r0 – r3, r10 – r12, lr}
cmp r6, r5
stmdb r9!, {r0 – r3, r10 – r12, lr}
bhi 1b
64k
16k
:wont_overwrite
0x8000에서
압축 풀었을
경우 차지하는
공간
r6
r9
r10
head.o(restart label 부터 시작), misc.o, piggy.gz를 모두 재배치 완료
하면 branch 종료
head.o, misc.o, piggy.gz
40. # 9
0x8000
head.o
piggy.gz
misc.o
r5 ≒ :restart
:reloc_code_end
16k page table
user_stack_end
(sp)4k
LC0(r0)
_edata
sub r6, r9, r6
add sp, sp, r6
bl cache_clean_flush
64k
16k
:wont_overwrite
0x8000에서
압축 풀었을
경우 차지하는
공간
r6
r9
r10
head.o, misc.o, piggy.gz
41. # 9
0x8000
head.o
piggy.gz
misc.o
r5 ≒ :restart
:reloc_code_end
16k page table
user_stack_end
(sp)4k
LC0(r0)
_edata
sub r6, r9, r6
add sp, sp, r6
bl cache_clean_flush
64k
16k
:wont_overwrite
0x8000에서
압축 풀었을
경우 차지하는
공간
r6
r9
r10
head.o, misc.o, piggy.gz
재배치 전/후 사이의 offset 계산해서 r6에 저장
r6 = 재배치 전/후 사이의 offset
r6
42. # 9
0x8000
head.o
piggy.gz
misc.o
r5 ≒ :restart
:reloc_code_end
16k page table
user_stack_end
(sp)
4k
LC0(r0)
_edata
sub r6, r9, r6
add sp, sp, r6
bl cache_clean_flush
64k
16k
:wont_overwrite
0x8000에서
압축 풀었을
경우 차지하는
공간
r6
r9
r10
head.o, misc.o, piggy.gz
현재 sp에 재배치 offset을 추가해서 sp 재조정
r6 = 재배치 전/후 사이의 offset
4k stack area
43. # 9
0x8000
head.o
piggy.gz
misc.o
r5 ≒ :restart
:reloc_code_end
16k page table
user_stack_end
(sp)
4k
LC0(r0)
_edata
sub r6, r9, r6
add sp, sp, r6
bl cache_clean_flush
64k
16k
:wont_overwrite
0x8000에서
압축 풀었을
경우 차지하는
공간
r6
r9
r10
head.o, misc.o, piggy.gz
재배치한 곳에서 코드를 다시 수행 하기 위해 cache flush
r6 = 재배치 전/후 사이의 offset
4k stack area
44. # 10
0x8000
head.o
piggy.gz
misc.o
r5 ≒ :restart
:reloc_code_end
16k page table
user_stack_end
(sp)
4k
LC0(r0)
_edata
adr r0, BSYM(restart)
add r0, r0, r6
mov pc, r0
64k
16k
:wont_overwrite
0x8000에서
압축 풀었을
경우 차지하는
공간
r6
r9
r10
head.o, misc.o, piggy.gz
r6 = 재배치 전/후 사이의 offset
4k stack area
45. # 10
0x8000
head.o
piggy.gz
misc.o
r0(:restart)
:reloc_code_end
16k page table
user_stack_end
(sp)
4k
_edata
adr r0, BSYM(restart)
add r0, r0, r6
mov pc, r0
64k
16k
:wont_overwrite
0x8000에서
압축 풀었을
경우 차지하는
공간
r6
r9
r10
head.o, misc.o, piggy.gz
r6 = 재배치 전/후 사이의 offset
4k stack area
참고 : BSYM macro는 badr macro로 대체 되었음
e.g. badr r0, restart
https://github.com/torvalds/linux/commit/14327c662822e5e874cb971a716
2067519300ca8
restart label의 pc 상대 주소를 r0에 저장
46. # 10
0x8000
head.o
piggy.gz
misc.o
:restart
:reloc_code_end
16k page table
user_stack_end
(sp)
4k
_edata
adr r0, BSYM(restart)
add r0, r0, r6
mov pc, r0
64k
16k
:wont_overwrite
r6
r9
r10
head.o, misc.o, piggy.gz
r6 = 재배치 전/후 사이의 offset
4k stack area
r0에 재배치 offset을 추가
즉, 재배치 한 위치의 restart label이 있는 위치를 r0에 저장
r0
(재배치된
restart
label이
있는 위치)
47. # 10
0x8000
head.o
piggy.gz
misc.o
:restart
:reloc_code_end
16k page table
user_stack_end
(sp)
4k
_edata
adr r0, BSYM(restart)
add r0, r0, r6
mov pc, r0
64k
16k
:wont_overwrite
r6
r9
r10
head.o, misc.o, piggy.gz
r6 = 재배치 전/후 사이의 offset
4k stack area
pc를 r0로 설정
즉, 재배치된 restart label이 있는곳 부터 다시 코드를 실행
결과적으로 stack, heap을 다시 확보하고 wont_overwrite label로
branch하여 이후 코드(압축해제)를 실행
r0
(재배치된
restart
label이
있는 위치)